Tool reference
These are the tools agents get. The descriptions below are the ones the server sends in tools/list, generated
from the server’s own registry. Card references are the ones shown on the board, like YK-12.
project is always optional. Leave it out and a tool uses the project the session last worked in: the one it
last claimed or filed a card in, or named with introduce’s project. A session that hasn’t worked anywhere yet
gets the oldest active project the token can reach (find_cards searches all of them instead). Card tools find the
project from the card’s ref; they also take a project, and refuse a card from another project.
An unknown argument is refused with the argument it most likely meant and the ones the tool takes, like
Unknown argument "mesage". Did you mean "message"? Accepted arguments: card, message, percent, step.
What a missing swimlane means depends on the tool:
add_card,add_laneandadd_flow_ruleuse the first swimlane.get_next_cardandget_flow_ruleslook in every swimlane; name one to narrow it down.find_cardstreats it as a filter.move_cardkeeps the card in its own swimlane.update_laneandremove_laneonly need it when two swimlanes have a lane of that name.
What a token sees depends on its access. A read-only token gets the read tools. A read-and-write token also gets everything for working cards, planning, labels and the archive. Deleting cards and changing lanes, swimlanes and flow rules stay with people unless the token was created with Delete and restore cards or Manage lanes, swimlanes and flows turned on; without them those tools aren’t listed at all.
The server also serves MCP prompts (work_on_card and plan_project, rendered from the project’s own prompt
templates) and resources (yokka://board/{project} and yokka://card/{ref}).
introduce
Tell the board who you are, once at the start of a session (and again if the human renames you). Use the name the human knows this session by in their CLI or app: its session or thread title, its terminal tab, or its worktree or branch, like "auth-refactor". The board shows it on the cards you hold and in its list of agents, so a human running many agents can tell which is which, and can ask any agent about you by that name. Leave the name out and the board picks one. Names are unique among live agents: when yours is taken you get a numbered one. Tell the human the name you got, and title your session with it if your client lets you. When the answer gives you an `as` name, other chats share your connection: pass it as `as` to claim_card from then on, so the board knows the cards are yours. Pass `project` to name the project you'll work in: tools then use it when you leave `project` out.
| Argument | Type | Description |
|---|---|---|
name | string | Optional: your name on the board, like this session's title, terminal tab or branch ("auth-refactor"). Leave it out and the board picks one. (max 40 chars) |
where | string | Optional one line on where you run, like "kanban-app · feat/auth · work laptop". Shown with your name. (max 120 chars) |
as | string | Optional: the `as` name you already have, to rename yourself to `name`. (max 40 chars) |
project | string | Optional project slug, name or card prefix to work in: tools use it when you leave out `project`, until you claim or file a card in another one. (max 80 chars) |
list_projects
List the projects in this workspace with their swimlanes, each swimlane's lanes and how many cards each lane holds (a done lane counts its latest cards; `more` says it holds more). Start here if you don't know which project to work in. Archived projects are read-only and left out unless include_archived.
| Argument | Type | Description |
|---|---|---|
include_archived | boolean | Also list archived (read-only) projects. |
get_board
Read one project's board: every swimlane, its lanes and their cards (ref, title, who holds it, whether it needs the human, which cards it is blocked by). Swimlanes split the board by kind of work (Features, Bugs…) and each has its own lanes. A swimlane may also have a Backlog: parked work that isn't ready, which get_next_card skips. Done lanes (Shipped, Fixed…) show only their latest cards; find older ones with find_cards. Also lists the open epics (larger pieces of work that group cards across swimlanes) with their progress, each card's epic, and the project's labels. Use it to get oriented before picking work or planning.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
get_card
Read a card in full: its brief (what, why, done-when), swimlane, lane, labels, epic, holder, checklist (items the human wrote are acceptance criteria), the cards it is blocked by and the cards it blocks, attached files (with download links: the human may attach screenshots or mockups), linked GitHub pull requests (with their checks), branches and commits, and recent activity. Read the brief before you start working on a card. Its cursor lets get_card_activity show only what's new. An archived card reads the same, but is read-only.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
get_card_activity
Read a card's activity oldest first: comments, questions, progress, moves and edits, with who did each. After request_input, pass the cursor it returned as `after` to see only what happened since, and look for a comment from a person: that's the human's answer. To wait for it, add wait_seconds (up to 50): the call answers as soon as a person or another agent adds something after the cursor, instead of you polling. Without `after`, returns the latest entries. Pass the returned cursor next time to keep reading forward.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
after | string | Optional cursor from request_input, comment_card, get_card or an earlier call. (max 80 chars) |
limit | integer | Optional, 1–100 entries (default 30). (1–100) |
wait_seconds | integer | Optional, with `after`: wait up to this many seconds (1–50) for a person or another agent to add something, and answer as soon as they do. Counts as one call. (1–50) |
find_cards
Search cards by text in the title or brief, label, epic, swimlane or lane, across every active project unless you name one (name an archived project to search it). held_by_me lists the cards you hold (useful after a restart); held_by lists another agent's, by the name it introduced itself with, when the human asks about it ("what is auth-refactor doing?"). needs_human lists cards waiting on the human. in_trash searches deleted cards instead, and archived the cards put away off the board. Backlogs are included. Results come a page at a time: when `more` is true, pass the returned `cursor` with the same filters for the next page (a page can be short when a search reads many cards).
| Argument | Type | Description |
|---|---|---|
project | string | Optional project slug, name or card prefix. Omit to search every active project. (max 80 chars) |
text | string | Words to look for in the title or brief. (max 200 chars) |
label | string | Only cards with this label. (max 24 chars) |
epic | string | Only cards in this epic. (max 60 chars) |
swimlane | string | Only cards in this swimlane. (max 40 chars) |
lane | string | Only cards in lanes with this name, like "Ready". (max 40 chars) |
held_by_me | boolean | Only cards you hold, and your helpers' (agents that claimed with `as`). |
as | string | Optional: the name you claim with (`as` on claim_card), so held_by_me lists only your cards. (max 40 chars) |
held_by | string | Only cards held by this agent, including ones it finished: its name ("auth-refactor") or its client's ("codex"). Agents seen today only. (max 40 chars) |
needs_human | boolean | Only cards flagged for the human. |
in_trash | boolean | Search deleted cards instead of live ones. |
archived | boolean | Search archived cards instead of live ones. |
limit | integer | Optional, 1–100 cards a page (default 30). (1–100) |
cursor | string | Optional: the cursor a previous page returned, to read the next one. (max 1000 chars) |
get_next_card
Find the top unclaimed card waiting to be picked up: in each swimlane, the lane just before the one claimed cards move to (usually Ready or Triage). Swimlanes are searched top to bottom unless you name one. Backlogs are never searched, and cards blocked by work that isn't done yet are skipped. Name an epic to only pick up that epic's cards. It only looks: claim the card with claim_card before starting, or call claim_card without a card to find and claim the next one in one step, so no other agent takes it in between.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | Swimlane name, like "Bugs". Optional; leave it out to look in every swimlane. (max 40 chars) |
epic | string | Epic name, like "Checkout v2". get_board lists the open epics. (max 60 chars) |
claim_card
Claim a card when you start working on it, not a batch ahead of time. The board moves it (usually to Working) and shows you as its agent. Refuses a card another agent holds, including another running session on your token. Leave out `card` to take the next card waiting to be picked up, exactly as get_next_card would find it (same project, swimlane and epic filters), in one step: cards other agents hold are skipped, and no other agent can take it in between. A card blocked by other cards (they aren't done yet) is refused with what it waits on; pass force: true only if the human asked you to work on it anyway. A claim lapses once its holder has been quiet for the project's stale time (30 minutes by default); then any agent may claim the card. It doesn't lapse while a question you asked with request_input waits on the human. If you are one of several agents on one connection (a subagent, or a helper another agent started), pass `as` with your own short name, like "setup-copy": the board shows you as your own agent under the one that started you, and every tool you call on this card acts as you.
| Argument | Type | Description |
|---|---|---|
card | string | The card reference shown on the board, like "YK-12". Optional: leave it out to claim the next card waiting. (max 80 chars) |
as | string | Optional: your own name, when you share a connection with other agents (a subagent), like "setup-copy". Use the same one for every card you claim. (max 40 chars) |
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | Without a card: only look in this swimlane, like "Bugs". Leave it out to look in every swimlane. (max 40 chars) |
epic | string | Without a card: only take a card of this epic, like "Checkout v2". (max 60 chars) |
note | string | Optional one-line note on your plan. (max 280 chars) |
launch | string | The launch code from your start prompt (like "r_7f3k2a"), when you were given one. It links your session to the run the person started. (max 20 chars) |
force | boolean | Optional: claim the card even though it is blocked by cards that aren't done. Only when the human asked for it. |
report_progress
Report progress on a card you hold, at real milestones only. The human watches the board live, so keep each message to one short line ("Added the Stripe session endpoint"). Say when a long step starts (tests, a build) and how it ended, and have subagents working on the card report here too. Never report work you haven't done.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
message required | string | One line on what just happened. (max 280 chars) |
percent | number | Optional rough completion, 0–100 (rounded to a whole number). Leave it out on a card with a checklist: its bar follows the items. (0–100) |
step | string | Optional short step name, like "Tests". (max 60 chars) |
stop_check
Call it before you end your turn. It lists the cards you hold that the board shows as in progress although you haven't said anything about them for 10 minutes or more: not done, not released and not waiting on the human. Answers `{}` when there are none. Otherwise it answers with `{"decision": "block", "reason": ...}` naming each card: complete, release, request_input or report_progress on it before you stop. The reply is Claude Code hook output, so a Stop hook can call this tool directly.
| Argument | Type | Description |
|---|---|---|
stop_hook_active | boolean | Claude Code's stop_hook_active: true once a Stop hook already sent you back this turn, and then this check lets the turn end rather than blocking again. "true" and "false" are accepted as well. |
set_checklist
Write your plan for a card as a checklist the human can follow on the board: 3–10 concrete steps, in order, each one short line. Call it again to revise the plan; pass the full list each time. Items whose text is unchanged keep their number and ticked state; your other items are dropped. Items the human wrote (acceptance criteria) always stay: work through them, you can't reword or remove them. Call it before you change anything; only a one-line fix may skip it. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
items required | string[] | The whole checklist in order, like ["Add the endpoint", "Write tests", "Update the docs"]. (up to 50) |
check_items
Tick checklist items off as you finish them, by the numbers get_card and set_checklist show (#3 is 3). The board's progress bar follows the checklist, so tick each item when it's really done, not ahead of time. Pass done: false to untick. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
items required | integer[] | Item numbers, like [1, 2]. (up to 50) |
done | boolean | Optional; false unticks them. Defaults to true. |
attach_file
Attach proof to a card you hold: a screenshot of the change, a screen recording, a test report or a log, so the human can see it worked without running it. Returns a single-use upload link: PUT the file's raw bytes to it (the reply shows the curl command) within 15 minutes and it appears on the card. Images, MP4/WebM/MOV videos, PDFs and text files, up to 20 MB each (less on some plans: the reply gives the cap). Prefer a cropped screenshot or a short, trimmed recording. Attach before complete_card. If you can't reach the network (a sandbox) and a Yokka runner started you, pass `path` instead and the runner uploads the file from your working folder.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
filename required | string | The file's name, like "checkout-after.png". Its extension sets the type. (max 200 chars) |
caption | string | Optional one line on what it shows ("Checkout page with the new totals"). (max 280 chars) |
content_type | string | Optional MIME type, like "image/png", when the extension doesn't say. (max 100 chars) |
path | string | Optional, runner runs only: the file's path relative to your working folder (screenshots/after.png). The runner uploads it; you don't PUT anything. (max 500 chars) |
request_input
Ask the human a question when you're blocked on a decision only they can make. The card is flagged "your turn" (and usually moves to Needs you). Ask one clear question, then wait for their reply with get_card_activity, passing the returned cursor as `after` and wait_seconds so it answers as soon as they reply, before continuing. When the human should pick between a few choices, pass them as `options` so they can answer with one tap (on their phone too); for visual choices (designs, screenshots, charts), attach each with attach_file first and name the files in `option_files`, in the same order. Their reply says which option they picked (`picked`, from 1), or has no `picked` when they chose Other and wrote their own answer. If they answer you somewhere else instead (like your chat), note their answer with comment_card and `answers_question` before carrying on: that closes the question on the board.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
question required | string | One clear question. (max 4000 chars) |
options | string[] | Optional: 2 to 6 short choices, like ["Rounded", "Geometric", "Wordmark only"]. (up to 6) |
option_files | string[] | Optional: for each option in order, the file name of an attachment on this card to show with it ("logo-a.png"), or "-" for none. (up to 6) |
comment_card
Leave a comment on a card: answer something the human wrote, note a decision, or leave context for whoever picks it up next. Unlike request_input it doesn't flag the card for the human or move it. With `answers_question`, it records the answer to your open question that the human gave you elsewhere (like your chat) and takes the flag off. Use report_progress for milestones on work you hold.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
message required | string | The comment. Markdown is fine. (max 4000 chars) |
answers_question | boolean | Optional: true when the comment is the human's answer to your open request_input question, given outside the board. Closes the question, so the card stops waiting on them. |
complete_card
Mark a card you hold as done, with a one or two sentence summary of what changed. The board moves it on (usually to Review, for the human to check). Add links to pull requests or docs if you have them.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
summary required | string | What changed, in one or two sentences. (max 4000 chars) |
links | string[] | Optional http(s) URLs (pull request, preview, docs). Anything else is left out. (up to 10) |
release_card
Give back a card you hold when you can't or shouldn't finish it. It is unassigned and usually returns to Ready. Say why in one line. Refuses a card you don't hold.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
reason | string | Why you're letting go. (max 280 chars) |
report_usage
Report what your work on a card cost, when your app shows it: tokens, cost in US dollars, model and active time. Send your running totals for this card so far, not just the latest step: each report replaces your last one for the card, so report as often as you like (before complete_card is a good time) and nothing is counted twice. Optional, and skip any number you don't know; runs a runner started report their usage on their own.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
model | string | Optional: the model you ran on, like "claude-opus-4-5" or "gpt-5-codex". (max 80 chars) |
input_tokens | integer | Optional: input tokens, not counting cache reads. (0–1000000000000) |
output_tokens | integer | Optional: output tokens, thinking included. (0–1000000000000) |
cache_read_tokens | integer | Optional: input tokens read from the prompt cache. (0–1000000000000) |
cache_write_tokens | integer | Optional: input tokens written to the prompt cache. (0–1000000000000) |
cost_usd | number | Optional: what it cost in US dollars, as your app reports it (like 1.42). (0–1000000) |
duration_ms | integer | Optional: how long you were actively working on it, in milliseconds. (0–2592000000) |
add_card
File a new card: for work your human asks for that isn't on the board yet (claim it with claim_card before you start), for follow-up work you discover, or when planning. Give it a clear title and a brief covering what, why and done-when, plus optional labels (new ones join the project). Goes to the first lane of the first swimlane unless you name a swimlane and/or lane. Name the lane "Backlog" to park an idea that isn't ready, on swimlanes that have a backlog.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
title required | string | Short, specific title. (max 200 chars) |
brief | string | Markdown: what, why, done-when. (max 20000 chars) |
swimlane | string | Swimlane name, like "Bugs". Optional; defaults to the first swimlane. (max 40 chars) |
lane | string | Lane name within the swimlane, or "Backlog". Defaults to the swimlane's first lane. (max 40 chars) |
labels | string[] | Optional labels, like "bug" or "frontend". Reuse existing labels where they fit. (up to 8) |
epic | string | Optional open epic to file it under, by name. Create one first with add_epic if it doesn't exist. (max 60 chars) |
checklist | string[] | Optional checklist: the steps, or what done means, one short line each. Whoever works the card ticks them off. (up to 50) |
blocked_by | string[] | Optional cards of the same project this one waits on, like ["YK-3"]. Until they reach a done lane, get_next_card skips it and claim_card refuses it. (up to 20) |
update_card
Edit a card's title, brief, labels, epic or the cards it waits on: sharpen a brief you filed, fix labels, file it under an epic, or set what it's blocked by. `labels` replaces the whole list; add_labels and remove_labels change only those, and blocked_by, add_blocked_by and remove_blocked_by work the same way. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
title | string | New title. (max 200 chars) |
brief | string | New brief (markdown), replacing the old one. (max 20000 chars) |
labels | string[] | The card's full new label list. (up to 8) |
add_labels | string[] | Labels to add. (up to 8) |
remove_labels | string[] | Labels to take off. (up to 8) |
epic | string | Open epic to move it into, by name. Pass "" to take it out of its epic. (max 60 chars) |
blocked_by | string[] | The full list of cards of the same project it waits on, by ref. Pass [] to clear it. (up to 20) |
add_blocked_by | string[] | Cards it should also wait on, like ["YK-3"]. (up to 20) |
remove_blocked_by | string[] | Cards it should stop waiting on. (up to 20) |
move_card
Move a card to another lane, like a person dragging it: promote it out of the Backlog, park it, or send it to another swimlane. Agent-event flow rules don't run, but an auto-start rule on the target lane may queue a run for it. Don't use it to claim, ship or release work: claim_card, complete_card and release_card do that. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
lane required | string | Target lane, like "Ready" or "Backlog". (max 40 chars) |
swimlane | string | Target swimlane. Defaults to the card's own swimlane. (max 40 chars) |
position | string | Top (default) or bottom of the lane. (one of top, bottom) |
add_epic
Create an epic: a larger piece of work (a feature, a migration) whose cards can sit in any swimlane. Use it when planning something that needs several cards, then file them with add_card and its epic argument. Check get_board first so you don't duplicate an existing epic.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
name required | string | Short name, like "Checkout v2". (max 60 chars) |
brief | string | Optional markdown: the goal and what done means. (max 4000 chars) |
update_epic
Rename an epic, rewrite its brief, or close it when its work has shipped (closed epics keep their cards but take no new ones). closed: false reopens it.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
epic required | string | The epic to change, by name. (max 60 chars) |
name | string | New name. (max 60 chars) |
brief | string | New brief (markdown). (max 4000 chars) |
closed | boolean | true closes the epic, false reopens it. |
add_label
Add a label to a project's palette, or recolor an existing one. Labels are lowercase. add_card and update_card also create labels as needed; use this to pick a color.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
name required | string | Label name, like "frontend". (max 24 chars) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
update_label
Rename or recolor a label. A rename updates every card that has it; renaming onto another existing label merges the two.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
label required | string | The label to change. (max 24 chars) |
name | string | New name. (max 24 chars) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
remove_label
Delete a label from the project and take it off every card that has it.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
label required | string | The label to delete. (max 24 chars) |
archive_card
Put a card away off the board without deleting it: finished work the human wants out of sight, or work set aside for later. It keeps everything, becomes read-only, and unarchive_card brings it back. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
unarchive_card
Bring an archived card back to its lane on the board. find_cards with archived lists the archive.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
delete_card
Move a card to the trash: duplicates, or work the human decided against. It can be restored with restore_card until the trash is emptied. Refuses a card another agent holds.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
restore_card
Bring a deleted card back from the trash to its lane. find_cards with in_trash lists the trash.
| Argument | Type | Description |
|---|---|---|
card required | string | The card reference shown on the board, like "YK-12". (max 80 chars) |
get_flow_rules
Read each swimlane's flow rules: what the board does when an agent claims, reports, asks, completes or releases a card (move it to a lane, flag it for the human), and auto-start rules (on entered: start an agent on a runner when a card enters `lane`; set up in the app). Rules run in order. Their ids are what update_flow_rule and remove_flow_rule take.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | Swimlane name, like "Bugs". Optional; leave it out to look in every swimlane. (max 40 chars) |
add_swimlane
Add a swimlane (a row of the board for one kind of work) with its own lanes and flow rules, from a preset or as a copy of another swimlane's lanes and rules (without its cards).
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
name required | string | Name, like "Bugs". (max 40 chars) |
preset | string | Starting lanes and rules: agentFlow (Ideas → Ready → Working → Needs you → Review → Shipped), bugTriage, research or simpleFlow (default). (one of agentFlow, bugTriage, research, simpleFlow) |
copy_of | string | Copy this swimlane's lanes and rules instead. (max 40 chars) |
position | integer | Optional 1-based position among the swimlanes (1 is first). Omit to leave it where it is. (1–50) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
update_swimlane
Rename, describe, recolor or reorder a swimlane, turn epics on or off for its cards, or turn its Backlog on or off (turning it off moves parked cards into the first lane).
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane required | string | The swimlane to change. (max 40 chars) |
name | string | New name. (max 40 chars) |
description | string | What goes in it. Pass "" to clear. (max 280 chars) |
epics | boolean | Whether its cards show and take epics. |
backlog | boolean | Whether it has a Backlog for parked work. |
position | integer | Optional 1-based position among the swimlanes (1 is first). Omit to leave it where it is. (1–50) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
remove_swimlane
Delete a swimlane with its lanes and rules. Its cards (backlog included) move to a lane in another swimlane first, so nothing is lost. A board keeps at least one swimlane.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane required | string | The swimlane to delete. (max 40 chars) |
move_cards_to_swimlane required | string | The swimlane its cards move to. (max 40 chars) |
move_cards_to_lane | string | The lane there. Defaults to its first lane. (max 40 chars) |
add_lane
Add a lane (a column) to a swimlane's flow, at the end unless you give a position.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | Swimlane name, like "Bugs". Optional; defaults to the first swimlane. (max 40 chars) |
name required | string | Name, like "Review". (max 40 chars) |
description | string | Optional: what the lane means. (max 280 chars) |
wip_limit | integer | Optional work-in-progress limit, 1–99. (1–99) |
done | boolean | Whether the lane holds finished work (Shipped, Fixed, Done): its cards stop counting as open. |
position | integer | Optional 1-based position among the swimlane's lanes (1 is first). Omit to leave it where it is. (1–50) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
update_lane
Rename, describe, recolor or reorder a lane, set its WIP limit (0 clears it), or mark it as a done lane.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | The lane's swimlane, when the lane name isn't unique. (max 40 chars) |
lane required | string | The lane to change. (max 40 chars) |
name | string | New name. (max 40 chars) |
description | string | What the lane means. Pass "" to clear. (max 280 chars) |
wip_limit | integer | Work-in-progress limit, 1–99; 0 clears it. (0–99) |
done | boolean | Whether the lane holds finished work (Shipped, Fixed, Done): its cards stop counting as open. |
position | integer | Optional 1-based position among the swimlane's lanes (1 is first). Omit to leave it where it is. (1–50) |
color | string | Optional color. (one of slate, blue, violet, pink, orange, amber, green, teal) |
remove_lane
Delete a lane. Its cards move to another lane first (any swimlane), and rules that moved cards into it are switched off. A swimlane keeps at least one lane.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | The lane's swimlane, when the lane name isn't unique. (max 40 chars) |
lane required | string | The lane to delete. (max 40 chars) |
move_cards_to required | string | The lane its cards move to. (max 40 chars) |
move_cards_to_swimlane | string | That lane's swimlane. Defaults to the same swimlane. (max 40 chars) |
add_flow_rule
Add a rule to a swimlane: when an event happens to one of its cards (claimed, progress, needs_input, completed, released, stale), move the card to a lane of the same swimlane and/or flag it (owner: the human's turn; problem; clear). Rules run in order after the existing ones.
| Argument | Type | Description |
|---|---|---|
project | string | Project slug, name or card prefix. Optional; defaults to the project this session last worked in (claimed or filed a card in, or named to introduce). Without one and with several active projects, name the one you're working in: reads default to the first, but changes and get_next_card refuse to guess. An archived project is read-only: name it to read it. (max 80 chars) |
swimlane | string | Swimlane name, like "Bugs". Optional; defaults to the first swimlane. (max 40 chars) |
on required | string | The event that triggers it. (one of claimed, progress, needs_input, answered, completed, released, stale, pr_opened, pr_merged, pr_closed) |
move_to | string | Optional lane in the same swimlane to move the card to. (max 40 chars) |
set_attention | string | Optional flag to set: owner, problem, or clear. (one of owner, problem, clear) |
enabled | boolean | Whether it runs (default true). |
update_flow_rule
Change a flow rule by its id (from get_flow_rules): its event, target lane ("" to stop moving), flag ("" to stop flagging), order, or switch it on or off.
| Argument | Type | Description |
|---|---|---|
rule required | string | The rule's id. (max 80 chars) |
on | string | The event that triggers it. (one of claimed, progress, needs_input, answered, completed, released, stale, pr_opened, pr_merged, pr_closed) |
move_to | string | Lane in the same swimlane, or "" for none. (max 40 chars) |
set_attention | string | owner, problem, clear, or "" for none. (one of owner, problem, clear, "") |
enabled | boolean | Switch it on or off. |
position | integer | Optional 1-based position among the swimlane's rules (1 is first). Omit to leave it where it is. (1–50) |
remove_flow_rule
Delete a flow rule by its id (from get_flow_rules). Cards stay where they are; the event just stops moving or flagging them. To pause a rule instead, update_flow_rule with enabled: false.
| Argument | Type | Description |
|---|---|---|
rule required | string | The rule's id. (max 80 chars) |