Skip to content
LogoLogo

Chat in the terminal

Use terminal chat to interact with an agent, continue previous threads, and control how tasks are executed.

Open chat

You can start chat with a local agent, a shared agent, or a standalone .too script:

TypeCommand
residenttoo eve chat
visitingtoo https://toolang.ai/lex.too chat
roamingtoo helpers.too chat

By default, chat starts a new thread. To resume the latest thread or select a specific one, use -t:

too eve chat -t
too eve chat -t THREAD

THREAD can be a thread ID or run ID.

For roaming scripts, each launch normally creates a new runtime instance. Append @ to reuse the latest instance, or @CODE to select a specific one:

too helpers.too@ chat -t
too helpers.too@CODE chat -t

Use too ps to find running instances and their codes.

Send messages and control runs

Use keyboard shortcuts to send messages, queue input, and control active runs:

KeyAction
EnterSend a message, or queue it while a run is active
Meta+EnterSteer the active run with the current text
Ctrl+JInsert a newline
Shift+EnterInsert a newline in supported terminals
Esc EscCancel the active run
Tab / Shift+TabSwitch between input and queue
Ctrl+CClear input, cancel a run, or press twice to exit

While a run is active, new messages are queued by default. Use Meta+Enter to steer the active run without waiting for it to finish.

In the queue, use arrow keys to select an item, Space to expand it, e to edit, and d to remove it. Queued messages retain the settings captured when submitted.

Use /keys to see all keyboard shortcuts.

Configure session settings

Use colon commands to change the defaults for subsequent submissions:

:model openai/gpt-6.1-sol
:model effort=high
:runnable default
:allow tools=fs/*
:limit tokens=20000 time=120
:workdir lab://

Enter each command separately. The settings apply to later submissions in the session.

You can also select models and runnables interactively:

  • /models lists available models.
  • /agics and /flows list available runnables.
  • :agic NAME or :flow NAME selects a specific runnable.
  • :runnable default restores automatic runnable selection.
  • :? shows current session settings.

Resource selections can only narrow the agent's existing permissions. Changing :workdir selects an accessible workspace location; it does not grant additional filesystem access.

Override a single run

Use slash directives to override settings for one submission without changing session defaults:

/model effort=high
/limit tokens=10000

Compare these approaches and recommend one.

You can also invoke a specific runnable and provide arguments. Suppose the agent defines agic review(_, focus)::

/review focus=security
Review this file for security issues.
@src/auth.py

Here, /review selects the runnable, focus=security supplies a named argument, and @src/auth.py includes file content.

If a runnable name conflicts with a built-in command, use /agic:review or /flow:review to select it explicitly.

See Authoring conventions for defining runnables.

Include files and prompts

Chat can include file contents and expand reusable prompts directly in messages.

To include a file, place @PATH at the beginning of a line:

Review the following file:

@src/auth.py

Paths are resolved relative to the directory where chat was launched. Quote paths containing spaces:

@"release notes.md"

To expand a prompt cap, use $PROMPT. For example, a prompt named review with a focus argument can be invoked as:

$review focus=security -- explain this change

A skill with the same name does not define a prompt command.

Use @@, $$, //, or :: at the beginning of a line to insert a literal marker instead of invoking its special meaning.

Included files provide content to the model but do not grant workspace access. See Manage workspaces for filesystem access.

Steering messages are sent as literal text. They do not expand file references, prompts, or chat commands.

Chat commands

Use these commands while in chat:

CommandPurpose
/models, /tools, /capsList allowed resources; support queries and -a
/agics, /flowsList available runnables
/output [RUN]Show saved output, defaulting to the latest run
/helpShow chat commands
/keysShow keyboard shortcuts
:?Show current session settings
/exitExit chat