AI-Powered Terminal Assistant β Beautiful TUI Β· Powerful CLI Β· Flexible SDK
Bring modern AI assistance directly to your terminal. Chat with Claude, GPT-4, Gemini, and local models using a rich interactive interface or simple CLI commands.
π Full Documentation
# Install with TUI (recommended) pip install 'consoul[tui]' # Or install SDK/CLI only pip install consoul# Choose your provider export ANTHROPIC_API_KEY=your-key-here # Claude export OPENAI_API_KEY=your-key-here # GPT-4 export GOOGLE_API_KEY=your-key-here # Geminiconsoul tuigit diff | consoul ask --stdin "create a commit message and commit"from consoul import Consoul console = Consoul() print(console.chat("What is 2+2?"))Rich, interactive terminal interface powered by Textual
- Multi-turn conversations with streaming responses
- Conversation history and search
- File attachments and image analysis
- Customizable themes (light/dark)
- Mouse and keyboard navigation
Use your favorite AI model or run locally:
- Anthropic Claude - Claude 4.5 Sonnet, Opus, Haiku
- OpenAI - GPT-5, GPT-4, GPT-3.5
- Google Gemini - Gemini 3 Flash, Pro
- Ollama - Run models locally (Llama, Qwen, GPT-OSS etc.)
- LlamaCpp - GGUF/MLX models with GPU acceleration
File Editing Let AI create, modify, and delete files with safety controls:
consoul ask "Add error handling to calculate_total in src/utils.py" --toolsCode Search Navigate your codebase semantically:
consoul ask "Find all usages of deprecated_function" --toolsImage Analysis Debug with screenshots:
consoul ask "What's wrong with this error?" --attach screenshot.pngAnd More:
- Bash command execution with approval workflows
- Web search and URL fetching
- Session management and history
For quick questions without the TUI:
# One-off questions consoul ask "Explain Python decorators" # Interactive chat mode consoul chatEmbed AI capabilities in your Python applications:
from consoul import Consoul # Enable tools for file operations and code search console = Consoul(tools=True) # Stateful conversation console.chat("List all TODO comments in Python files") console.chat("Create a summary.md file with the results") # Rich responses with metadata response = console.ask("Summarize this project", show_tokens=True) print(f"Tokens: {response.tokens}") print(f"Cost: ${console.last_cost['total_cost']:.4f}")π Full Documentation
Getting Started:
TUI:
Tools:
SDK:
Create ~/.consoul/config.yaml:
# Default profile profiles: default: model: provider: anthropic model: claude-3-5-sonnet-20241022 temperature: 0.7 tools: enabled: true permission_policy: balanced # Require approval for risky operations conversation: save_history: true max_history: 50 # Local model profile local: model: provider: ollama model: llama3.2:latestSwitch profiles:
consoul --profile localSee the Configuration Guide for all options.
Consoul includes comprehensive security controls for tool execution:
- Permission Policies - PARANOID, BALANCED, TRUSTING, UNRESTRICTED
- Approval Workflows - Interactive confirmation for dangerous operations
- Audit Logging - Complete execution history in JSONL format
- Command Validation - Pattern-based blocking of risky commands
See the Security Policy for best practices.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
MIT License - see LICENSE file for details.
- Textual - Beautiful TUI framework
- LangChain - AI orchestration
- Anthropic - Claude AI models
- OpenAI - GPT models
- Google AI - Gemini models
Made with β€οΈ by Jared Rummler

