SOBAAgent Docs

Interface and commands

SOBA Agent TUI, slash commands, direct shell, task queue, token budget, themes, and hotkeys.

SOBA gives you an interactive console UI with slash commands, hotkeys, direct shell access, and a small task queue.


1. Starting the TUI

# Interactive mode, used by default when no prompt is passed
soba

# Explicit interactive mode
soba -i

# Start with a theme
soba --theme forest

# Continue a specific session
soba -s abc123

# Continue the latest session in the TUI
soba -c

# Open the session picker
soba -r

TUI shape

┌──────────────────────────────────────────────────────┐
│  SOBA  Agent  [-][_][×]    Budget: 12K/64K    EN │
│──────────────────────────────────────────────────────│
│  ● Active    soba-agent                               │
│──────────────────────────────────────────────────────│
│  You: Fix all TypeScript errors in src/              │
│                                                      │
│  Agent: Analyzing...                                 │
│  ┌────────────────────────────────────────────────┐   │
│  │ 🔧 read: src/utils/parser.ts                   │   │
│  │    ...                                         │   │
│  └────────────────────────────────────────────────┘   │
│  ┌────────────────────────────────────────────────┐   │
│  │ ✅ edit: Fixed 3 type errors                   │   │
│  └────────────────────────────────────────────────┘   │
│  Agent: Done. Fixed 3 errors in parser.ts.          │
│──────────────────────────────────────────────────────│
│  > _                                                  │
└──────────────────────────────────────────────────────┘

2. Hotkeys

KeyActionContext
EnterSend the messageInput line
Ctrl+CInterrupt the current agent responseWhile the agent is working
Ctrl+ZSuspend SOBA (SIGTSTP)Always
Ctrl+LClear the screenAlways
Ctrl+DExit the TUIEmpty input line
EscapeClear input or close a dialogInput line / dialog
TabComplete slash commandsInput line
/ Move through message historyInput line
Page Up / Page DownScroll the TUI message historyMain area
HomeJump to the beginning of historyMain area
EndJump to the current end of historyMain area

3. Slash commands

All slash commands start with /. Command names are case-insensitive.

3.1. Session

CommandAction
/sessionShow the current session details: ID, turns, and budget
/session rewind <turn-id>Rewind the session to a previous turn and create a branch

3.2. Compaction and budget

CommandAction
/compactForce compaction and create a context capsule
/auto-compact onEnable automatic compaction
/auto-compact offDisable automatic compaction
/budgetShow the current token and context budget
/capsuleShow the latest capsule

3.3. Skills

CommandAction
/skill listShow available bundled, user, and project skills
/skill newCreate a new skill
/skill edit <name>Edit an existing skill
/skill remove <name>Remove a skill
/skill:<name>Activate a skill with the colon form

3.4. Interface settings

CommandAction
/themeShow the current theme and available themes
/theme <name>Switch theme, for example /theme forest
/langShow the current language
/lang <locale>Switch language: en, ru, or zh
/config showShow the current configuration
/permissions [ask|repo|full|clear]Manage permission mode
/clearClear the TUI screen
/searchSearch conversation history
/notificationsShow notification history

3.5. Other commands

CommandAction
/helpShow help for all commands
/queueShow the task queue
/queue clearClear the task queue
/project-trust statusShow project trust status
/project-trust approveTrust the project
/project-trust revokeRevoke project trust
/mcp statusShow configured MCP server status
/mcp start <server>Start an MCP server and register its tools
/mcp stop <server>Stop an MCP server
/mcp restart <server>Restart an MCP server and sync tools
/mcp auth status <server>Show remote auth state and next action
/mcp auth login <server>Start OAuth login for a remote MCP server
/mcp auth logout <server>Clear saved OAuth credentials
/exit, /quitExit the TUI

4. Direct shell

Use ! to run shell commands directly, without asking the AI to execute them.

4.1. Basic syntax

# Run one command
!ls -la src/

# Repeat the previous shell command
!!

# Check Node version
!node --version

# Inspect git status
!git status

# Run tests
!bun test

4.2. Details

  • The agent does not see the output of ! commands. It is a quick way to do something without spending tokens.
  • If the agent should read the output, send a normal prompt and let the agent call the bash tool.
  • Trust still applies: dangerous commands such as rm -rf or sudo are blocked in safe trust mode and require confirmation in normal mode. See Security.

5. Task queue

You can send more tasks while the agent is working. SOBA runs them one after another.

# The agent is working on the first request
> Fix all TS errors                                  # → Task 1, running

# Add more work while it is still busy
> Add tests for utils                                # → Queue, position 1
> Update README with new features                    # → Queue, position 2

# Inspect the queue
/queue
# Output: Queue (2 tasks)
#   1. Add tests for utils
#   2. Update README with new features

# Clear the queue
/queue clear

6. Token budget

SOBA tracks token usage in real time and compacts context when it needs to.

# Show budget
/budget

# Output:
#   Used:      28,450 tokens
#   Limit:     64,000 tokens (context window)
#   Available: 35,550 tokens
#   Messages:  42
#   Turns:     8
#   Capsules:  2

# More context details
/budget
/session

# Output:
#   Effective tokens:   32,100
#   Hard limit:         47,616
#   Safety reserve:     8,192
#   Max output:         8,192
#   Reclaimable:        12,100
#   Auto-compact:       ON

7. Scrolling history

The full message and tool history can be scrolled with:

  • Page Up / Page Down — page-by-page scrolling
  • Home — jump to the beginning of the session history
  • End — jump to the end, where the current state is

The input line stays visible while you scroll, so you can read old context and write a new message at the same time.


8. Autocomplete

8.1. Slash commands

Press Tab after / to see available commands:

/             # Tab →
help         session      compact      budget
auto-compact capsule      config       lang
theme         skill       project-trust exit
quit          clear       search       notifications
permissions   queue

8.2. Subcommands

After a command that supports subcommands:

/skill        # Tab →
/skill list    /skill new     /skill edit
/skill eval   /skill remove   /skill:

9. Themes

SOBA includes 10 built-in color themes and lets you create your own.

# Switch theme
/theme forest

# Show the current theme
/theme

# Available themes:
# graphite, ember, aurora, synthwave, paper,
# forest, highContrast, clay, operator, ink

Each theme defines semantic tokens such as accent, text, muted, success, error, and border, with support for dark and light modes. See the theme guide for details.


10. Languages

SOBA supports English, Russian, and Chinese.

# Switch language in the TUI
/lang en

# At startup
soba --lang en

# In config
{
  "lang": "en"
}

Translations live in locales/. To add a new language, create the matching JSON file and register it in the i18n system.

On this page