Skip to content

Docs

The answer tool

How an agent writes down the answer you gave it in chat, what it frees, and what opens again when you overturn an assumed answer.

answer closes a question with your answer. Its title is Record an answer, and its description, as the agent reads it:

Record the answer the human gave you in chat. Never pick one yourself (use assume) or answer to unblock work (use edit's needs).

You can answer on the board yourself, with one click on an option. answer is for when you tell the agent instead ("go with CloudKit") and it writes that down, so every other agent and the board have it too.

Arguments

Argument Type What the agent is told
key string, required
answer string, required the human's answer: an option number or their words
why string their reason, if they gave one

What it does

  • An option's number becomes that option's words. Words of your own are kept as you said them.
  • The answer is signed as yours, not the agent's: the news tells the others "The human answered".
  • Items that waited on the question and wait on nothing else are free now; the reply names them.
  • If an agent had assumed a different answer, the work ticked done on that assumption opens again, and the reply names it.
  • When an answer is assumed, an empty answer confirms the assumed one.
  • Answering again replaces the earlier answer, and the reply says what it replaced.

Calls and replies

You chose option 2. In Claude Code:

⏺ hamloy - Record an answer (MCP)(key: "Q-q0ae", answer: "2", why: "No server to pay for while it's iPhone only.")
  ⎿  Q-q0ae@3 answered: CloudKit: free, Apple only
     no longer waiting on it: B-xtiv

Your own words, then a change of mind, in Codex:

• Called hamloy.answer({"key":"Q-hzbh","answer":"The bell, but quieter"})
  └ Q-hzbh@2 answered: The bell, but quieter
    no longer waiting on it: B-b2bk

• Called hamloy.answer({"key":"Q-vrqq","answer":"No sound, a vibration","why":"Most people keep the phone on silent."})
  └ Q-vrqq@4 answered: No sound, a vibration (this replaces its earlier answer "The system chime")

Overturning an assumed answer opens again what was built on it. Claude had assumed a day ends at 4am and ticked B-lm4l on that; you said midnight:

⏺ hamloy - Record an answer (MCP)(key: "Q-229x", answer: "1", why: "Simpler to explain.")
  ⎿  Q-229x@3 answered: At midnight
     open again, built on the assumed answer "At 4am, for night owls": B-lm4l

The other agents read it in their news:

Hamloy news (what changed since you last looked):
- The human answered Q-229x "When does a day end?": At midnight
- The human opened B-lm4l "Count late check-ins for the day before" again: Q-229x was answered "At midnight", not the assumed "At 4am, for night owls". Redo it for the real answer.
Where should synced habits live?
Ccodex 3d ago
Supabase: Postgres with auth and row-level security built in recommended
Our own Postgres on Fly.io
iCloud only, no server
Or answer in your own words Why (optional) Answer

Answering this lets Offline sync with a local SQLite cache go ahead.

C codex · ~/pebble · feat/offline

• I asked you where synced habits should live (Q-sy2c). Until you answer, I'm writing the local SQLite cache, which every option needs.

What it refuses

B-txqk isn't a question
Q-hzbh has options 1 to 2, not 7; give one of those, or the human's own words
give an answer: an option number (1-2) or your own words

An answer and a why are each up to 2,000 characters.

Why agents don't answer for you

The description says it plainly: never pick an answer yourself. An agent that can't wait has assume, which leaves the question open for you. An agent that wants work to stop waiting changes that work's needs with edit. Neither puts words in your mouth. See Questions and Human in the loop.