Codewhale documentation
ReleaseLatest release v0.10.0 · 22. Sept. 2026These pages describe v0.10.0, the published release.Changelog →

Set modes and approvals

Two separate controls decide what Codewhale does on its own. The mode sets the kind of work — look, change, or coordinate. The approval setting decides when it stops to ask you. Change either one from the keyboard at any time between turns.

Pick a mode

Plan
Look and plan only. Codewhale can read the workspace and research, but it cannot edit files or run shell commands. Use it to understand a codebase or agree on an approach first.
Work
Everyday coding. Codewhale reads, edits, and runs commands, within the approval setting you chose. This is the default.
Operate
Larger goals. Same permissions as Work, but Codewhale plans named steps, hands independent steps to sub-agents in parallel, and checks each result before it reports done.

Press Tab with an empty composer to cycle Plan → Work → Operate, or type /mode to open the picker. You can also switch directly:

/mode plan
/mode work
/mode operate

The mode you pick becomes the mode your next session starts in. Codewhale refuses mode changes while a turn is running; press Esc to stop the turn first.

Choose when it asks

Press Shift+Tab to cycle Ask → Auto-Review → Full Access. Plan is always read-only, whatever you pick here.

Ask
The default. File edits inside the workspace are applied and shown to you as a diff. Shell commands and other consequential tools stop for your approval.
Auto-Review
Never stops to ask. Calls that are provably safe run. Publishing and destructive background actions are always blocked. Anything else gets one independent model review; high-risk calls and failed reviews are denied, not run.
Full Access
No approval prompts. Repository rules and managed policy still block what they block. Use it only in a workspace you trust.

Note: Ask applies workspace file edits without asking. Commit or stash anything you care about before you start, and use Review what changed to check or roll back edits.

Answer an approval prompt

When Codewhale stops at an approval, it shows the exact command. Answer with one key:

y
Allow this call once.
a
Allow it for the rest of this session.
n
Deny it. Codewhale is told the call was refused.
Esc
Stop the whole turn.

The highlighted option on a new prompt is Deny, so pressing Enter without reading refuses the call. To change that, or to deny prompts that wait too long, set it in ~/.codewhale/config.toml:

[approval]
default_selection = "allow_once"   # default: "deny"
timeout_seconds = 300              # default: wait indefinitely

Next

Review what changed

See the diff for a session and roll files back to an earlier turn.

Limit what commands can touch

An approval is not a sandbox. See what the operating system enforces on each platform.

Run agents in parallel

What Operate does with independent steps, and how to watch it.