Skip to content

docs: say what Devin CLI actually carries - #6

Merged
dsaad68 merged 1 commit into
mainfrom
docs/devin-accuracy
Aug 24, 2026
Merged

docs: say what Devin CLI actually carries#6
dsaad68 merged 1 commit into
mainfrom
docs/devin-accuracy

Conversation

@dsaad68

@dsaad68 dsaad68 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

The message table did not distinguish the two CLIs, so it read as though a
finished Devin turn shows the reply that ended it. It does not — Devin's Stop
payload reports stop_hook_active and no reply text, so done has a state and
an age and nothing under them.

Verified by putting Devin's documented event set through the hook with
DEVIN_PROJECT_DIR set:

event result
UserPromptSubmit busy + refactor the parser
PostToolUse busy, prompt survives
PermissionRequest perm + exec: rm -rf build
Stop done, message empty

So Devin carries a message for the two states that matter most — what it is
working on, and what it wants to run — and nothing for done. err and ask
never arise at all, since Devin has neither StopFailure nor Elicitation. The
states table already said that; the message table did not.

Also written down for the first time: notifications fire for both CLIs, because
notify() keys on the state rather than on which agent reached it. A blocked
Devin session notifies exactly like a Claude Code one.

Docs only — no code changes. The mapping itself was already correct and
future-proof: if Devin ever gains those events, the hook already handles them.

🤖 Generated with Claude Code

The message table did not distinguish the two CLIs, so it read as though a
finished Devin turn shows the reply that ended it. It does not: Devin's Stop
payload reports stop_hook_active and no reply text, so `done` has a state and an
age and nothing under them.

Verified by putting Devin's documented event set through the hook with
DEVIN_PROJECT_DIR set. It carries a message for the two states that matter most
— the prompt it is working on, and the tool it wants to run — and nothing for
done. `err` and `ask` never arise at all, since Devin has neither StopFailure
nor Elicitation; the states table already said so, the message table did not.

Also noted that notifications fire for both, since notify() keys on the state
rather than on which agent reached it — a blocked Devin session notifies exactly
like a Claude Code one, which was not written down anywhere.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dsaad68
dsaad68 merged commit 8903403 into main Aug 24, 2026
5 checks passed
@dsaad68
dsaad68 deleted the docs/devin-accuracy branch August 24, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant