A native AI coding assistant with real filesystem access
Features • Installation • Quick Start • AI Providers • Agents • Tools • Themes • Development
Ticca is a sleek, native desktop application for AI-assisted coding built with Rust and the Iced GUI framework. Unlike browser-based alternatives, Ticca runs locally with direct filesystem access, enabling AI agents to read, write, and execute code in your actual development environment.
- 🔒 Privacy First — Your code stays on your machine. No uploads to third-party servers.
- ⚡ Native Performance — Built in Rust for speed and low resource usage.
- 🔧 Real Filesystem Access — AI agents can read, write, edit, and execute files directly.
- 🤖 Multi-Agent Architecture — Specialized agents for planning, coding, exploration, and skills.
- 🎨 Beautiful UI — 11 built-in themes including Catppuccin, Dracula, Nord, and more.
- 🔑 Zero API Keys Required — OAuth authentication for Claude, ChatGPT, and Gemini.
Ticca employs specialized AI agents, each optimized for specific tasks:
| Agent | Purpose | Access Level |
|---|---|---|
| Coding | Code generation, modification, and execution | Full Access |
| Planning | Strategic task breakdown and roadmap creation | Read-Only |
| Explore | Fast codebase navigation and search | Read-Only |
| Skills | Python-based skill execution for specialized tasks | Full Access |
Agents can invoke each other, enabling complex workflows like: Planning → Exploration → Implementation → Validation.
All tools are implemented in Rust for maximum performance:
File Operations
list_files— Directory listing with intelligent filtering (ignores build artifacts, node_modules, etc.)read_file— Read files with optional line-range selectionedit_file— Surgical text replacements with diff generationwrite_file— Create new filesdelete_file— Remove files with safety confirmations
Search & Analysis
grep— Ripgrep-powered regex search across your entire codebase
System Execution
execute_shell— Run commands in integrated terminal instanceslist_processes— View active terminal processesread_process_output— Stream process outputkill_process— Terminate running processes
Agent Coordination
invoke_agent— Cross-agent communication with isolated message historiestodo_read/todo_write— Agent-scoped task management
11 beautiful themes with instant switching:
| Dark Themes | Light Themes |
|---|---|
| Dark (default) | Light |
| Dracula | Catppuccin Latte |
| Nord | Gruvbox Light |
| Catppuccin Mocha | |
| Tokyo Night | |
| One Dark | |
| Gruvbox Dark | |
| Zinc |
Connect external tools via the Model Context Protocol. Configure MCP servers in settings to extend Ticca's capabilities with custom tools.
On-demand downloads for specialized tasks:
- UV — Fast Python package manager
- Pandoc — Document conversion
- Node.js — JavaScript runtime
- LibreOffice — Document processing (AppImage)
Download the latest release for your platform from GitHub Releases.
| Platform | Download |
|---|---|
| Linux (x64) | ticca-linux-x86_64.tar.gz |
| macOS (Apple Silicon) | ticca-macos-aarch64.dmg |
| macOS (Intel) | ticca-macos-x86_64.dmg |
| Windows | ticca-windows-x86_64.zip |
Prerequisites:
- Rust 1.75+ with Cargo
- System dependencies for Iced (see Iced setup guide)
# Clone the repository
git clone https://github.com/jan/ticca-desktop.git
cd ticca-desktop
# Build in release mode
cargo build --release
# Run the application
./target/release/ticca-appLinux Dependencies (Debian/Ubuntu):
sudo apt install libxkbcommon-dev libwayland-dev libvulkan-devLinux Dependencies (Fedora):
sudo dnf install libxkbcommon-devel wayland-devel vulkan-loader-develcargo run --release -p ticca-appOr run the pre-built binary.
Click the settings icon (⚙️) and authenticate with one of:
- Claude — Anthropic's Claude (recommended)
- ChatGPT — OpenAI's GPT models
- Gemini — Google's Gemini models
OAuth flows handle authentication automatically — no API keys required!
Use Ctrl+O to open a project directory, or Ticca will use the current working directory.
Example prompts to try:
Explore this codebase and explain the architecture
Add input validation to the user registration form
Write tests for the authentication module
Refactor the database queries to use prepared statements
Ticca supports OAuth PKCE flows for major AI providers:
| Provider | Models | Notes |
|---|---|---|
| Claude | claude-sonnet-4, claude-opus-4, claude-3.5-sonnet | Full feature support |
| ChatGPT | gpt-4o, gpt-4-turbo, gpt-3.5-turbo | Uses Codex backend |
| Gemini | gemini-2.0-flash, gemini-1.5-pro | Cloud Code Assist API |
For OpenAI-compatible providers, you can also use API keys:
- OpenAI
- Groq
- Mistral
- Together AI
- Any OpenAI-compatible endpoint
Configure API keys in Settings → Providers.
The primary agent for code implementation. Has full filesystem access and can:
- Read and analyze existing code
- Write new files and modify existing ones
- Execute shell commands
- Run tests and build scripts
- Invoke other agents for specialized tasks
Workflow: Reason → Execute → Validate (iterative cycle)
Strategic planning with read-only access. Perfect for:
- Breaking down complex features into tasks
- Analyzing project architecture
- Creating implementation roadmaps
- Coordinating multi-agent workflows
Workflow: Project Analysis → Requirement Deconstruction → Technical Specification → Agent Coordination
Fast, read-only exploration optimized for:
- Finding files by patterns
- Searching code with regex
- Understanding project structure
- Locating implementations and usages
Use multiple Explore agents in parallel for faster discovery.
Executes Python-based skills for specialized tasks:
- Document conversion
- Data processing
- Custom automation scripts
Skills are discovered automatically from the skills/ directory.
list_files List directory contents with smart filtering
read_file Read file with optional line range
edit_file Replace text with surgical precision
write_file Create new files
delete_file Remove files with confirmation
grep Ripgrep-powered regex search
execute_shell Run shell commands in UI terminal
list_processes List active terminal processes
read_process_output Read new output from a process
kill_process Terminate a running process
list_agents Discover available agents
invoke_agent Call another agent with isolated history
todo_read Read agent's task list
todo_write Update agent's task list
Switch themes instantly with Ctrl+T or through Settings.
- Dark — Clean modern dark theme (default)
- Dracula — Popular purple-accented theme
- Nord — Arctic, bluish color palette
- Catppuccin Mocha — Warm, cozy dark theme
- Tokyo Night — Inspired by Tokyo's night lights
- One Dark — Atom's iconic dark theme
- Gruvbox Dark — Retro groove colors
- Zinc — Minimal zinc-based palette
- Light — Clean modern light theme
- Catppuccin Latte — Warm, cozy light theme
- Gruvbox Light — Retro groove colors, light variant
| Shortcut | Action |
|---|---|
Ctrl+N |
New conversation |
Ctrl+O |
Open project directory |
Ctrl+T |
Cycle themes |
Ctrl+, |
Open settings |
Ctrl+Enter |
Send message |
Escape |
Cancel current operation |
Ctrl+L |
Clear conversation |
ticca-desktop/
├── crates/
│ ├── ticca-app/ # Desktop GUI application
│ │ ├── src/
│ │ │ ├── app/ # Main application state
│ │ │ ├── views/ # UI components
│ │ │ ├── theme/ # 11 built-in themes
│ │ │ └── widgets/ # Custom Iced widgets
│ │ └── assets/ # Icons and fonts
│ │
│ ├── ticca-core/ # Business logic library
│ │ └── src/
│ │ ├── agents/ # AI agent implementations
│ │ ├── tools/ # Native Rust tools
│ │ ├── llm/ # LLM provider integrations
│ │ ├── config/ # SQLite configuration
│ │ └── session/ # Chat history persistence
│ │
│ └── ticca-oauth/ # OAuth authentication
│ └── src/
│ ├── claude.rs # Anthropic OAuth
│ ├── chatgpt.rs # OpenAI OAuth
│ └── gemini.rs # Google OAuth
│
├── vendor/ # Vendored dependencies
├── scripts/ # Build and utility scripts
└── docs/ # Additional documentation
- Rust 1.75+ (install via rustup)
- Platform-specific dependencies (see Installation)
# Debug build
cargo build
# Release build (optimized)
cargo build --release
# Run with logging
RUST_LOG=info cargo run -p ticca-app# Run all tests
cargo test
# Run tests for a specific crate
cargo test -p ticca-core
# Run with output
cargo test -- --nocapture- Follow Rust naming conventions (snake_case for functions/variables, PascalCase for types)
- Use
rustfmtfor formatting - Run
cargo clippyfor linting - Keep files under 600 lines; refactor if larger
- Create a new file in
crates/ticca-app/src/theme/(e.g.,my_theme.rs) - Define color constants and implement
pub fn theme() -> Theme - Add the variant to
AppThemeenum inmod.rs - Add to
ALL_THEMESarray and implementDisplay/FromStr
- Create the tool in
crates/ticca-core/src/tools/ - Implement the
rig::tool::Tooltrait - Register in
ToolRegistry::default()inmod.rs - Add to appropriate agent tool sets
Configuration is stored in platform-specific directories:
| Platform | Location |
|---|---|
| Linux | ~/.local/share/ticca/ |
| macOS | ~/Library/Application Support/ticca/ |
| Windows | %APPDATA%\ticca\ |
config.db— SQLite database for settings and tokenssessions/— Chat history persistenceskills/— Python skills directory
If the OAuth callback fails:
- Ensure no firewall is blocking localhost ports 8000-8010
- Try closing other applications that might use these ports
- Check the logs with
RUST_LOG=debug cargo run -p ticca-app
LibreOffice is distributed as an AppImage requiring FUSE 2:
# Debian/Ubuntu
sudo apt install libfuse2
# Fedora
sudo dnf install fuseSee docs/fuse-installation.md for details.
- Ensure you're running a release build (
cargo build --release) - Close unused terminal processes in the System Executions tab
- Large projects may benefit from
.ticcaignorefile (same format as.gitignore)
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Add tests for new functionality
- Update documentation as needed
- Keep commits focused and atomic
MIT License — see LICENSE for details.
- Iced — Cross-platform GUI framework
- Rig — LLM orchestration library
- ripgrep — Fast regex search
- Theme inspirations: Catppuccin, Dracula, Nord, Tokyo Night, One Dark, Gruvbox
Made with ❤️ and 🦀