Skip to content

Shell Execution

Crucible’s TUI allows you to execute shell commands directly and optionally share their output with the AI agent.

Type ! followed by a command and press Enter:

!ls -la
!git status
!cargo build

A modal window opens showing the command output in real-time.

When a shell command runs, a full-screen modal displays:

  • Command: The command being executed
  • Status: Running, completed (exit code), or failed
  • Output: Real-time streaming stdout/stderr
KeyAction
j / DownScroll down one line
k / UpScroll up one line
dScroll down half page
uScroll up half page
GJump to bottom
gJump to top
Ctrl+CCancel running command
sSave and send full output to agent
tSave and send truncated output (last 50 lines)
eOpen output in $EDITOR
Enter / EscapeDismiss modal

After a command completes, you can share the output with the AI:

  • Press s to send the full output as context
  • Press t to send only the last 50 lines (useful for long build logs)

The agent receives the output formatted with the command, exit code, and working directory.

Shell outputs are saved to your session directory:

<kiln>/.crucible/sessions/<session-id>/shell/<timestamp>-<command>.output

File format:

$ git status
Exit: 0
Duration: 0.15s
Cwd: /home/user/project
---
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
!cargo test

Then press t to send failures to the agent for debugging help.

!git diff --stat

Press s to share changes with the agent for commit message suggestions.

!cargo build 2>&1

Press s to let the agent help diagnose compilation errors.

  • Commands run in the current working directory (where you started cru chat)
  • Long-running commands show a spinner; press Ctrl+C to cancel
  • Use e to open output in your editor for manual selection/copying
  • The modal auto-scrolls to bottom during streaming; scroll up to pause