Skip to content

Navigation

The Cosine CLI features an intuitive terminal-based user interface (TUI) with three main areas: the Sidebar Panel, the Timeline, and the Chat Input. This guide covers keyboard navigation, shortcuts, and how to move between different views.

Open the Command Centre with Ctrl+P, type shortcuts, and choose Keyboard shortcuts. You can also use the left or right arrow to select the Shortcuts tab.

  1. Select an action with the up and down arrows and press Enter.
  2. Select an existing shortcut and press Enter to change it, or press a to add another.
  3. Press the key combination you want to use. The editor shows what the CLI received.
  4. Press Enter to save, or Esc to cancel recording.

Changes apply immediately. Each action can have multiple shortcuts. In an action’s shortcut list, Delete removes only the selected shortcut. Press Esc to return to the actions list, where Delete unbinds the whole action. Press r in either list to restore that action’s platform defaults. If another action uses the combination in the same context, the editor shows a conflict and keeps your previous setting. Menu navigation and Esc to cancel editing remain available. Terminal and operating-system shortcuts are configured in those apps.

Your settings are saved in keybindings.json under your Cosine home directory. This is $COSINE_HOME when set, otherwise %APPDATA%\cosine on Windows or ~/.cosine on macOS and Linux. The editor shows the exact path. The file stores only overrides, for example:

{
"version": 1,
"bindings": {
"open_settings": ["f8", "f9"],
"copy_selection": ["ctrl+shift+c", "ctrl+c"]
}
}

You can edit the file while the CLI is closed. Use an empty array to disable an action, or remove an entry to restore its defaults. Invalid files show an error in the Shortcuts tab and are preserved so you can repair them.

Press Ctrl+S on Home or in the main conversation to Save current setup as default. You can also search save setup in the Command Centre, or choose Settings → Defaults → Save current setup as default. A Setup saved as default notification confirms success; an error appears if saving fails.

This saves the current main and review models (including their providers), reasoning level, mode, system prompt and auto-accept choice to your active personal profile. Settings, Agents and Shortcuts changes already save as you make them and remain in place, including auto-copy, appearance, browser preferences and custom keybindings. Future launches of that profile use these defaults unless you supply an overriding launch flag. Conversation drafts, running tasks and temporary Swarm/MultiPlan overrides are not part of the saved setup.

The save current setup as default action supports multiple custom keys in Shortcuts. If an older custom action already uses Ctrl+S, it keeps that key; use the command or assign Save setup another shortcut. Inside a model or reasoning picker, Ctrl+S still saves that picker’s highlighted choice.

These are all the actions whose defaults vary by platform. The first shortcut in each cell is the primary one; the others are alternatives. Keys work when the terminal forwards them to Cosine.

ActionmacOSWindowsLinux
Select all prompt textCtrl+Shift+ACtrl+A, Ctrl+Shift+ACtrl+Shift+A
Copy selected text / Home promptCtrl+Shift+C, Ctrl+InsertCtrl+C, Ctrl+Insert, Ctrl+Shift+CCtrl+Shift+C, Ctrl+Insert, Ctrl+C
Paste text or imageCmd+V, Ctrl+V, Shift+InsertCtrl+V, Shift+Insert, Ctrl+Shift+VCtrl+Shift+V, Shift+Insert, Ctrl+V
Move back one wordOption+Left, Option+BCtrl+Left, Alt+Left, Alt+BCtrl+Left, Alt+Left, Alt+B
Move forward one wordOption+Right, Option+FCtrl+Right, Alt+Right, Alt+FCtrl+Right, Alt+Right, Alt+F
Delete previous wordOption+Backspace, Ctrl+WCtrl+Backspace, Alt+Backspace, Ctrl+WCtrl+Backspace, Alt+Backspace, Ctrl+W
Delete next wordOption+Delete, Option+DCtrl+Delete, Alt+Delete, Alt+DCtrl+Delete, Alt+Delete, Alt+D

On Mac keyboards, Backspace is usually labelled Delete; forward Delete may require Fn+Delete. The JSON file uses super for Command and alt for Option. Other action defaults stay the same across platforms, including Enter to send, Shift+Enter / Alt+Enter / Ctrl+J for a newline, Ctrl+P for the Command Centre, and Ctrl+C to interrupt or quit. The Shortcuts tab lists every current binding.

Defaults follow the OS running the CLI. When using SSH from a different OS, set COSINE_KEYBOARD_PLATFORM to macos, windows, or linux before launching Cosine to choose your keyboard’s defaults. Saved custom shortcuts take precedence for their actions; resetting an action restores the selected platform’s defaults.

Undo with Ctrl+Z. Redo with Ctrl+Y or Ctrl+Shift+Z. Select all text in the focused prompt with Ctrl+Shift+A (or Ctrl+A on Windows), then type, paste, or press Backspace to replace or delete it. These actions work on Home, in the main conversation prompt, and in side chats. Select-all highlights the prompt; it does not copy automatically. Use your copy shortcut to copy that selection.

Find undo prompt edit, redo prompt edit, and select all prompt text in the Shortcuts tab to change or add bindings. On macOS, use the Control key for these defaults: terminals often reserve Command shortcuts for their own UI. You can assign Command combinations if your terminal forwards them. Ctrl+A still moves to the beginning of the line on macOS and Linux.

Undo history covers the current draft’s text and cursor. A replacement or paste is one edit, and typing after undo clears redo. Sending or loading a different draft clears its history. Adding or removing an attachment also clears text history, so undo cannot restore an attachment marker without its file. It does not undo sent messages or code changes. Queue uses Ctrl+Q; agent actions use Ctrl+Alt+A. Previously saved custom bindings keep their assigned keys.

Selecting text copies it automatically when you release the mouse in the Home prompt, conversation, and side chats. The CLI briefly shows ✓ Copied to clipboard automatically, and the text stays highlighted so you can copy it again. Double-clicking a word or triple-clicking a line in the conversation also copies it. Single clicks and empty selections leave your clipboard unchanged. Clicks and scrolling keep working normally.

Copy on select defaults to On. Press Ctrl+P, search copy or auto copy, and choose Copy on select (auto-copy) to jump to the switch in Settings → Clipboard. Press Enter to turn it Off and keep copying manual. The setting applies immediately and persists across launches. You can also set copy_on_select = false under [config] in your personal config.toml to turn it off, or true to turn it on. An explicitly saved preference is preserved when you update Cosine. If only a terminal copy request can be sent, the feedback says so instead of confirming that the clipboard was updated.

On Windows and Linux, Ctrl+C also copies the selection. The selection stays highlighted, so repeated Ctrl+C presses keep copying. Press Esc or click elsewhere to clear it. With no selection, Ctrl+C interrupts a running task. When idle, it opens the quit confirmation; press Ctrl+C again to exit.

On macOS, Cosine uses Ctrl+Shift+C or Ctrl+Insert for manual copying. Cmd+C is a terminal-native shortcut, so it is not a default CLI binding. Ctrl+C continues to interrupt or quit even when text is selected. Some terminals, including Warp, handle Cmd+C themselves and cannot see Cosine’s own highlight. With the default Copy on select setting, your text is already copied before you press Cmd+C. If you turn automatic copying off, use a copy shortcut your terminal forwards, such as Ctrl+Shift+C, or assign another combination to copy selected text / Home prompt. The Home prompt also has a clickable Copy action. The selection hint shows auto-copy on while automatic copying is enabled, or your configured manual copy shortcuts when it is off. An explicitly assigned Cmd+C binding is preserved, but only works if your terminal forwards that key.

Cosine’s selection and the terminal’s own selection are separate. To select terminal-owned text while mouse reporting is enabled, hold Shift while dragging in Warp or Windows Terminal. Release Shift, then use the terminal’s Copy action (Cmd+C in Warp on macOS). Normal clicks and scrolling still work in Cosine. Ordinary dragging followed by Cmd+C in Warp remains subject to Warp’s copy-forwarding limitation; changing a Cosine shortcut cannot make Warp forward a key it consumes. Mac Terminal’s native copy shortcut is Cmd+C.

The shortcut tables below describe defaults; your Shortcuts tab shows your current bindings.

┌─────────────────────────────────────────────────────────────────────┐
│ Timeline (Main Chat) │ Sidebar Panel │
│ │ (Overview, │
│ User: How do I refactor this? │ Terminals, │
│ │ Cloud, │
│ Assistant: Here's the solution... │ Changes) │
│ ┌─────────────────────────────┐ │ │
│ │ Tool: code_edit │ │ │
│ │ File: src/utils.ts │ │ │
│ └─────────────────────────────┘ │ │
│ │ │
├───────────────────────────────────────────┬─────────────────────────┤
│ [Shift+Tab] Mode: Auto > Type message │ [Ctrl+P] Tools │
└─────────────────────────────────────────────────────────────────────┘

The panel provides contextual information and tools across four tabs:

TabShortcutDescription
OverviewCtrl+1 / Alt+1Repository structure and context files
TerminalsCtrl+2 / Alt+2Active terminal sessions and output
CloudCtrl+3 / Alt+3Background agent tasks and subagents
ChangesCtrl+4 / Alt+4Git diff and file changes

Panel Controls:

  • Ctrl+/ - Toggle panel visibility on/off
  • Ctrl+`` (backtick) - Toggle focus between panel and chat
  • Tab / Shift+Tab - Cycle between sections (when panel is focused)
  • Left / Right - Switch between panel tabs (when panel is focused)

The timeline displays the conversation history, including:

  • User messages
  • Assistant responses
  • Tool calls and their results
  • Terminal output
  • Plans and todo lists
  • Reasoning blocks

The text area where you type messages to the AI agent.


The timeline supports powerful keyboard navigation for reviewing past conversations and copying content.

When the timeline is focused, use these keys to jump between user messages:

KeyAction
↑ (Up) / kJump to previous user message
↓ (Down) / jJump to next user message
SpaceExpand/collapse assistant response under selected user message
cCopy the assistant’s response to clipboard

How it works:

  1. Press Tab until the timeline is focused (or click in the timeline area)
  2. Press ↑ or ↓ to navigate between your past questions/prompts
  3. The assistant’s response to that message is highlighted
  4. Press c to copy the entire assistant response to your clipboard
  5. Press Space to expand or collapse the response for easier reading

General scrolling works from any view:

KeyAction
PgUp / Ctrl+UScroll up one page
PgDn / Ctrl+DScroll down one page
HomeJump to top of timeline
EndJump to bottom of timeline

Pro tip: When your cursor is in the input box and it’s empty, the Up/Down arrows automatically scroll the timeline instead of moving the cursor.


Execution blocks are groups of related activities (tool calls, terminal output, reasoning). You can navigate between them:

KeyAction
Shift+↑Select previous execution block
Shift+↓Select next execution block
Ctrl+OToggle expand/collapse selected execution block

Cycle between the main interface sections:

KeyAction
TabMove focus to next section (Input → Timeline → Panel → Input)
Ctrl+TabQuickly focus the chat input from anywhere

Queue or Nudge a Follow-up While Cosine Is Running

Section titled “Queue or Nudge a Follow-up While Cosine Is Running”

When Cosine is already working, you can still add another message:

KeyAction
EnterNudge the current run with a follow-up message
Ctrl+QQueue a new follow-up to run after the current rollout finishes

Use a nudge when you want to influence the run in progress. Use a queue when you want Cosine to finish the current work first and then start a fresh follow-up turn.

When this is available, the input area shows a hint on the right side:

ctrl+q to Queue / enter to Nudge
KeyAction
yCopy selected assistant output (timeline focused)

The copy action shows a brief visual confirmation when successful.

KeyAction
SpaceExpand assistant response under selected user message
pToggle plan visibility
Ctrl+OToggle execution block

Open your task’s saved plan with Alt+P or /plan-view. The Markdown remains available after implementation begins. Visuals, history, editing and side chats must be enabled for your account.

KeyAction
↑ / ↓Scroll the plan
Page Up / Page DownScroll one page
v / bGenerate or open a visual snapshot in your browser
mExport Markdown; the footer shows the file path
eEdit Markdown in your configured editor
hView plan history
dDiscuss the plan in a side chat
?Show more plan actions
EscReturn to the task

You can review the Markdown while a visual is generating or if generation fails. Return to the task to approve the current plan. Viewing, editing or exporting a plan does not approve implementation.

Browser snapshots work offline. Open a new snapshot after revising the plan to see the latest version.

When a tool requires confirmation:

KeyAction
y / EnterConfirm and execute tool
n / EscReject tool execution

Switch between AI operation modes:

KeyAction
Shift+TabCycle through modes: Normal → Auto → Plan → Swarm

Modes explained:

  • Normal: Ask for confirmation before each mutating action (default)
  • Auto: Automatically execute all tools without confirmation
  • Plan: Read-only planning — explore code and create a plan before executing
  • Swarm: Multi-agent orchestration with parallel subagents

For a detailed explanation of each mode, see Modes.


ShortcutAction
Ctrl+CCopy selected text, otherwise interrupt or quit
Ctrl+\Ask Cosine to answer now with its current progress
EscCancel operation or close dialog
EnterSend message (when in input)
Ctrl+QQueue a follow-up while Cosine is running
Shift+Enter / Ctrl+JNew line in input (without sending)
Ctrl+TabFocus chat input
Ctrl+/Toggle sidebar panel
Ctrl+POpen tools/settings
Ctrl+EOpen the transcript overlay
Ctrl+LOpen event log (debug mode)
?Open keyboard shortcuts help

If Cosine is still reasoning and you want the current best answer immediately, press Ctrl+\. This interrupts the longer reasoning cycle and asks Cosine to respond with what it has so far.


  1. Quick copy workflow: Press Tab to focus timeline, ↑/↓ to find the message, c to copy
  2. Hide panel for focus: Use Ctrl+/ to hide the panel when you want more space for the conversation
  3. Navigate while typing: Use Ctrl+Tab to jump back to input from anywhere
  4. Review tool results: Use Shift+↑/Shift+↓ to jump between execution blocks
  5. Scroll hands-free: When not typing, Up/Down arrows scroll the timeline; when typing in empty input, they also scroll

Open the plan with Alt+P or /plan-view, then press h to view its temporary review history. Press n to start a new history collection during planning or review. Subsequent Markdown changes add snapshots; chat messages and visual refreshes do not.

  • Use ↑ and ↓ to select a revision to compare with the current plan.
  • Use Page Up and Page Down to scroll through the diff.
  • Press r to restore the selected Markdown as a new revision for approval. This does not start implementation or undo code changes.
  • Press Esc to return to the plan.

Accepting or rejecting the plan, or closing its plan discussion, removes the comparison history. The latest plan remains saved. History holds up to 64 snapshots within an 8 MiB limit and shows a notice when older snapshots are removed.

While a plan is awaiting review, open it and press e. Cosine uses VISUAL, then EDITOR, falling back to vi on macOS/Linux or Notepad on Windows. For a graphical editor, configure it to wait until editing finishes, such as EDITOR="code --wait".

Save and close the editor to submit your changes for review. Editing does not approve implementation. If saving fails or conflicts with a newer revision, the footer shows where your draft is saved.

Use /btw to discuss the current task separately. To discuss a plan, open the plan viewer and press d.

Side chats can read code, search files and query supported language servers. They cannot edit source, run shell commands or delegate implementation. The main task continues independently. If a task has no completed conversation checkpoint yet, wait for a response to finish before opening a side chat.

KeyAction
Enter / Ctrl+EnterSend a message
Shift+EnterInsert a new line
Ctrl+OOpen side-chat actions
EscReturn to the task, keeping the discussion
Page Up / Page DownScroll the discussion

To revise a plan, write the change and choose Request plan change… from Ctrl+O. You can also send a clear request such as “Update the plan to keep validation synchronous.” Questions and alternatives leave the plan unchanged. Wait for the revised plan before requesting another change; revisions still need implementation approval.

The actions menu also lets you:

  • Keep as side chat: detach a plan discussion from its review and continue it as a temporary side chat.
  • Fork as new task: save and open an independent task from the discussion once its response finishes.
  • Close and discard side chat: remove the temporary discussion after confirmation. Applied plan changes remain with the main task.

Returning to the task keeps your discussion, draft and scroll position. Temporary chats can recover after a restart for up to 24 hours after their last active runtime. Accepting or rejecting a plan closes the old discussion’s ability to revise it.