Interactive mode is Pi’s default interface, providing a full terminal UI with an editor, commands, keyboard shortcuts, and visual feedback.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/badlogic/pi-mono/llms.txt
Use this file to discover all available pages before exploring further.
Interface Layout
The interface from top to bottom:Startup Header
Shows shortcuts (
/hotkeys for all), loaded AGENTS.md files, prompt templates, skills, and extensionsMessages
Your messages, assistant responses, tool calls and results, notifications, errors, and extension UI
/settings or custom UI from extensions. Extensions can also add:
- Widgets above/below the editor
- Status lines in the footer
- Custom overlays
- Custom headers
Editor Features
File References
Type@ to fuzzy-search project files:
Path Completion
PressTab to complete file and directory paths:
Multi-line Input
- Shift+Enter - New line (Ctrl+Enter on Windows Terminal)
- Enter - Submit message
Images
Paste from clipboard:- Ctrl+V to paste (Alt+V on Windows)
- Supports PNG, JPEG, BMP formats
- Automatic conversion to supported formats
- Drag image files onto the terminal window
- Works in terminals that support file drag-and-drop
Bash Commands
Run shell commands directly from the editor:- ! prefix
- !! prefix
!! for commands that produce large output or when you just want to run something without context pollution.
Standard Editing
Supports standard keybindings:- Ctrl+W - Delete word
- Ctrl+U - Delete to start of line
- Ctrl+K - Delete to end of line
- Ctrl+A - Move to start of line
- Ctrl+E - Move to end of line
- Alt+Left/Right - Move by word
- Ctrl+Z (in input) - Undo
- Ctrl+Y - Redo
packages/tui/src/components/editor.ts.
Commands
Type/ in the editor to trigger commands. Autocomplete shows available commands with descriptions.
Built-in Commands
- Authentication
- Model Selection
- Configuration
- Session Management
- Context
- Utilities
| Command | Description |
|---|---|
/login | OAuth authentication with provider |
/logout | Logout from OAuth provider |
Extension Commands
Extensions can register custom commands:Skill Commands
Skills register as/skill:name commands:
/settings or settings.json:
Prompt Templates
Prompt templates expand when you type/templatename:
Keyboard Shortcuts
Press/hotkeys to see all shortcuts. Customize via ~/.pi/agent/keybindings.json.
Essential Shortcuts
- Editor Control
- Agent Control
- Model Control
- Display
- System
| Key | Action |
|---|---|
| Enter | Submit message |
| Shift+Enter | New line (Ctrl+Enter on Windows) |
| Ctrl+C | Clear editor |
| Ctrl+C (twice) | Quit |
| Ctrl+G | Open external editor (respects $VISUAL or $EDITOR) |
Custom Keybindings
Create~/.pi/agent/keybindings.json to customize:
- App actions:
interrupt,clear,exit,suspend,cycleThinkingLevel,cycleModelForward,cycleModelBackward,selectModel,expandTools,toggleThinking,externalEditor,followUp,dequeue,pasteImage,newSession,tree,fork,resume - Editor actions: See
packages/tuidocumentation
Message Queue
Submit messages while the agent is working:Steering Messages (Enter)
Delivered after current tool execution. Interrupts remaining tools.Use when you want to redirect the agent immediately:
Follow-up Messages (Alt+Enter)
Delivered only after agent finishes all work.Use when you want to add something for later:
Delivery Modes
Configure in/settings or settings.json:
"one-at-a-time"(default) - Waits for response after each message"all"- Delivers all queued messages at once
"sse"- Server-Sent Events (default, more reliable)"websocket"- WebSocket (lower latency when available)"auto"- Let provider choose
Context Files
Pi automatically loadsAGENTS.md (or CLAUDE.md) from:
~/.pi/agent/AGENTS.md(global)- Parent directories (walking up from cwd)
- Current directory
AGENTS.md:
Custom System Prompt
Replace the default system prompt:- Global:
~/.pi/agent/SYSTEM.md - Project:
.pi/SYSTEM.md
- Global:
~/.pi/agent/APPEND_SYSTEM.md - Project:
.pi/APPEND_SYSTEM.md
Terminal Setup
For best results: Recommended terminals:- iTerm2 (macOS)
- Kitty (Linux/macOS)
- WezTerm (cross-platform)
- Windows Terminal (Windows)
- VS Code integrated terminal
- Use a font with good Unicode support
- Enable ligatures for better code display
- Monospace fonts with clear distinction between characters
Shell Aliases
Useful aliases to add to your.bashrc or .zshrc:
Platform Notes
Windows
Seedocs/windows.md in the coding-agent package for Windows-specific setup.
Termux (Android)
Seedocs/termux.md in the coding-agent package for Android/Termux setup.
Next Steps
Sessions
Learn about branching, compaction, and tree navigation
Customization
Configure settings, keybindings, and appearance