CodeAFCommands and keys

Commands and keys

Every key, slash command and terminal command in CodeAF, grouped by the screen you are on.

You do not need to memorize these. Ask CodeAF in plain words, such as "what keys open the wall?", and it looks the answer up in its own manual.

Every row here was checked against the CodeAF dev build. Keys are drawn as keycaps: press them. Commands are drawn as code: type them, then press Enter. If a row is missing in your CodeAF, you may be on the stable build; see Troubleshooting.

The 15 essentials

The keys and commands most days need.

KeysWhat it does
?Show every key and command (type it in an empty box)
/Open the command list; keep typing to narrow it
/task <brief>Hand off work that runs on its own in a copy of your folder
Alt+VThe wall: every open conversation as live tiles
Alt+2The teams page: teams, managers, what waits on you
Alt+MIn a team, jump to its manager
Alt+KSwitch to another conversation
Ctrl+TStart a new chat in a new tab
Space SpaceGo home: every project and conversation on this machine
EscStop the running answer
Enter while it answersStop the answer and steer your new words in
Esc EscTake back your last message
/crewSee and change the crew (worker, planner, checker) and the per-task limit
Alt+AWalk approvals: asks, guardian, YOLO
/standing <words>Turn a sentence into a standing order that keeps running

Slash commands

Typed in the message box, grouped by what they touch.

Type these in the message box. / opens the list, and a space closes it. Words in angle brackets are yours to fill in.

Getting around

CommandWhat it does
/helpThe full list of keys and commands, same as ?
/homeOpen home
/wallEvery open conversation as live tiles
/teamsThe teams page
/settingsOpen settings (also Ctrl+,)
/searchSearch everything said on this machine
/manual <question>Answer from CodeAF's own manual, naming the page it used
/statusEvery fact the status line knows; /status --json gives them as JSON
/updateInstall the newest CodeAF for your channel and restart on it
/update <channel or tag>Install a channel (stable, rc, dev, staging) or one exact tag
/quitClose this conversation's tab; CodeAF and the work keep running
/debugKeep the full record of this conversation and say where it is

A conversation

CommandWhat it does
/newStart another conversation in this project
/resumeOpen an earlier conversation
/project <path>On home: the folder your next conversation opens in
/folder <path>Give this conversation a folder to work in
/workspace <path>Anchor a conversation with no project to a project
/modelOpen the model picker
/model <slug>Switch this conversation's model
/effortPick how hard the model thinks; /effort <rung> sets it outright
/attach <path>Put a file on the tray; bare /attach opens the file browser
/rewindGo back to any earlier point from a list
/compactSummarise the conversation now
/copyCopy mode (same as Ctrl+B)
/selectHand the mouse to the terminal to drag-select
/export <path>Write the conversation to a Markdown file
/filesWhat was made for you in this conversation
/permissionsWhat runs without asking you
/costWhat this conversation has spent

Tasks

CommandWhat it does
/task <brief>Start work you can walk away from; it prints the crew and the estimate
/task --cheap <brief>The same, on the cheapest crew allowed
/task --best <brief>The same, on the strongest crew
/task solo <brief>One worker, no sizing
/taskThe task page. From the / list, press Enter twice
/redo strongerRun the last task again on a stronger crew
/historyEvery task this machine ran (also Ctrl+.)
/stopStop the task that is open (it asks first)
/landPut changes waiting for another folder into it; /land <folder> names one

Teams, specialists and programs

CommandWhat it does
/teamsThe teams page: tree, inbox, the manager's conversation
/senior-dev <brief>Hand a large, well-specified code change to senior-dev
/subharnessPrograms you can run here; Enter opens the intake card
/harnessSaved shapes of work

Crew and spend

CommandWhat it does
/crewThe crew panel: three seats, allowed models, providers, limits
/crew pin <seat> <model>Pin the worker, planner or checker to one model
/crew unpin <seat>Put a seat back on auto; /crew unpin all for every seat
/crew models <rule>Which models a seat may use: all, open, or model ids
/crew cap <dollars>The most the crews may spend in a day; /crew cap off removes it
/crew cap task <dollars>The most one task may spend ($5 unless you set it)
/budgetEvery spending limit on one tab
/budget <amount>Set the day's limit
/budget conversation <amount>Set this conversation's limit; none removes a limit
/spendWhat this machine cost, by day (also Alt+5)
/cacheBuild cache size; /cache clean deletes it after asking

Standing orders

CommandWhat it does
/standing <words>Make those words a standing order; a card asks you to confirm
/standingWhat stands; select one and press →, then P pause or S stop
/autonomyHow questions are handled while you are away, by kind
/autonomy <kind> <rule>Change one kind for this project: ask, recommend <time> or decide

Keys by screen

What each key does on the screen you are on.

Everywhere

KeysWhat it does
Alt+1 … Alt+9Go to a place: home, teams, chats, sessions, spend, settings, standing, memory, search
Alt+.On a place: number the tabs and list that place's keys
TabOn a place: the next place. Over an empty box: back to the last conversation
Space SpaceOver an empty box: go home
Ctrl+,Open settings
Ctrl+CQuit everything; while an answer runs it only interrupts

Home

KeysWhat it does
TypeFilter the list, or start something new
↑ ↓Move between rows
EnterOpen the row
→Show what the row can do

Chat: typing

KeysWhat it does
EnterSend
Alt+EnterNew line without sending (also Shift+Enter or Ctrl+J)
@ then a pathMention a file; a picture attaches
↑ in an empty boxWalk back through cleared drafts, then what you sent
Ctrl+UDelete the current line
Alt+EWalk thinking: auto, low, medium, high, xhigh, max
Alt+AWalk approvals: asks, guardian, YOLO

Chat: while it answers

KeysWhat it does
EscStop the answer
Enter with words typedStop the reply and steer your words in
Ctrl+QQueue your message to run after this turn
Ctrl+EOpen the running turn's steps
Ctrl+OExpand this turn's tool calls

Chat: reading and tabs

KeysWhat it does
Esc EscTake back your last message; Enter confirms
Ctrl+LBack to the latest
PgUp PgDnScroll a page
Ctrl+BCopy mode: arrows move, V marks, Y copies
Ctrl+SHand the mouse to the terminal to select text
Ctrl+TNew chat; Esc comes back, nothing is made until you send
Ctrl+WClose this tab; the conversation keeps running
Alt+KConversation switcher: digits pick, Enter opens
Alt+LShow or hide the right column (Tasks, and Traffic in a team)
Ctrl+GClose or bring back the right column

The wall

KeysWhat it does
Alt+VOpen the wall from anywhere (or /wall)
↑ ↓ ← →Move between tiles
EnterOpen or answer the focused conversation
SpaceSelect the focused tile
SMake a new team from the selected tiles
NNext conversation waiting on you
OSuggest teams
G / Shift+GFirst / last tile
- + 0Fewer, more, or automatic columns
?The wall's own key card
EscBack

The teams page

KeysWhat it does
Alt+2Open the teams page from anywhere (or /teams)
Alt+↑Move from the manager's box onto the page's rail and buttons
↑ ↓ then EnterOn the rail: choose a team
Shift+MStart a manager for the chosen team
SThe chosen team's card and settings, including its cap
CClose the chosen team (Undo is offered)
NNew team inside the chosen team
WOpen the wall on the chosen team
EscPut the keys back in the manager's box. While the manager is answering, it stops the answer
Alt+MFrom any member's chat: go to the team's manager

With a manager in front, letters type into the manager's box until Alt+↑ puts the keys on the rail.

A task room

KeysWhat it does
Alt+TGive the keyboard to the task list; Enter opens a task, X stops it
Ctrl+.Every task this machine ran
Type, then EnterA note that reaches the worker at its next step
X in an empty boxStop card: 1 stop it, 2 keep going, then Enter
← ←Leave the room, back to the live edge

Terminal commands

Run in a shell: start, script, the engine and upkeep.

Run these in a shell, not in the chat.

Start and open

CommandWhat it does
codeafOpen the conversation this folder was last having, or home
codeaf chatOpen a chat; flags such as --model <slug>, --yolo, --max-cost <dollars> go after chat
codeaf resumePick an earlier conversation
codeaf chat --host <host>:<path>The screen here, the conversation and its work on another machine over ssh
codeaf chat --at <name>Reach a paired machine with a pairing code (see codeaf serve, codeaf devices)

Run work from a script

CommandWhat it does
codeaf do "<task>"Do one task with no screen and exit; --json for a machine-readable result
codeaf do --cheap, --best, --slots <n>The crew and the width for one run
codeaf do --pin <seat>=<model>Pin one seat for one run
codeaf exec "<prompt>"One worker, one pass, no plan
codeaf plan new, show, revise, runA plan written to a file, run exactly as written
codeaf senior-dev "<brief>"Hand a change to senior-dev with no screen; --max-cost and --max-hours bound it
codeaf run <program> --input <file.json>Run one saved program

codeaf do exits 0 when done, 1 when it could not run, 2 when unfinished, 3 at a limit, and 4 when it needed an answer from you.

The engine

The engine keeps conversations and tasks running with no window open.

CommandWhat it does
codeaf engine --status-allEvery engine on this machine and what it holds
codeaf engine --status --workspace <folder>Which engine holds one folder
codeaf engine --stop --workspace <folder>Stop the engine for one folder
codeaf engine --stop-allStop every engine; the next launch starts fresh ones

Install, keys and health

CommandWhat it does
codeaf versionWhich build you run, and when it was built
codeaf updateInstall the newest build of your channel
codeaf update --checkSay whether a newer build exists, and install nothing
codeaf update --devSwitch to the newest dev build; also --stable, --rc, --staging
codeaf update --version <tag>Install one exact release tag
codeaf doctorIs this install healthy, and where things live
codeaf connect <service>Connect a model service; bare codeaf connect lists them
codeaf disconnect <service>Remove a service's key
codeaf modelsThe models this machine will use; --refresh fetches today's list
codeaf manual "<question>"Read the built-in manual; costs nothing, needs no key
codeaf logs --tail <n>Recent model calls; --follow keeps watching
codeaf why <task-id>What a piece of work did and what it cost
codeaf cache cleanDelete the build cache
codeaf telemetry offTurn off anonymous usage counts; codeaf telemetry info shows what is sent
codeaf --helpEvery verb; codeaf <verb> --help for one

Mac and Linux

Option, Meta and the terminal settings the keys need.

  • Alt is Option on a Mac. CodeAF draws every Alt chord as opt on macOS. It is the same key.
  • Option must send Meta. If Alt+1 types ¡ instead of moving, your terminal sends Option as a character. CodeAF shows one line naming the setting. In iTerm2 it is Profiles › Keys › Left Option: Esc+. In Terminal it is Profiles › Keyboard › Use Option as Meta key. In Ghostty it is macos-option-as-alt = true.
  • Ctrl and a digit. Ctrl+1 to Ctrl+9 and Ctrl+. also jump to places, on terminals that report the kitty keyboard protocol: kitty, Ghostty, WezTerm, foot and Windows Terminal.
  • Cmd+Enter. Holding a message above the box is Cmd+Enter on a Mac and Super+Enter on Linux.
  • Word and line jumps. Alt+← and Alt+→ jump a word. Ctrl+A and End go to the start and end of the line everywhere.