Features

Everything you need to work with AI coding agents, in a 12 MB native app.

Chat and agents

Full-featured chat interface powered by the Agent Client Protocol. Each conversation runs as an independent agent thread with its own context, tool calls, and execution history.

Threaded conversations

Each thread is an independent agent session with its own context window and tool access.

Slash commands

/plan, /model, /agent, /btw, /branch, /worktree, /clear, /fork, /close, /tangent with fuzzy search.

Agent mentions

@agent pills with built-in agents, styled icons, and fuzzy matching.

Plan mode

Toggle between planning and building. Context-aware handoff card when usage grows past 30%.

Question cards

Agents ask multi-choice questions; pick an option and reply inline.

/btw side questions

Ask quick questions in a floating overlay without polluting conversation history.

Thread archiving

/close preserves conversation history in a read-only view instead of deleting.

Task management

Create, pause, resume, cancel, and delete tasks. Queue messages while the agent is running.

Kiro config sidebar

Browse agents, skills, steering rules, and MCP servers from your .kiro/ directory.

Subagent pipelines

Parallel agent pipelines render as expandable stage cards with dependency indicators.

Image attachments

Drag and drop images into chat. Sent as ACP ContentBlock::Image for multimodal agents.

Message queue

Type messages while the agent is running. They queue up and send when the turn ends. Reorder or steer mid-run.

/fork threads

Fork the current thread into a new conversation, preserving full context from the original.

Folder drag-and-drop

Drag folders into the chat input to attach them as context pills. The agent receives the full directory tree.

Mode dropdown

Switch between plan and chat modes from the toolbar dropdown. No slash command needed.

Error state with retry

Failed agent calls show a shake animation and retry button. One click to resend without retyping.

Command palette

Cmd+K opens quick navigation: thread search, project switching, git actions, panel toggles, and frecency-ranked results.

Selection toolbar

Select text in any message to copy, add to chat, or start a new thread from the selection.

Pinned threads

Pin important threads to the top of the sidebar for quick access across sessions.

MCP server management

Add, remove, and configure MCP servers with stdio/HTTP transport, scope selection, and live status indicators.

Slash commands

/planSwitch to plan mode
/chatSwitch to chat mode
/modelChange the active model
/agentSwitch agent profile
/clearClear conversation history
/closeArchive the thread
/forkFork into a new thread
/btwSide question overlay
/tangentAlias for /btw
/branchCreate and checkout a branch
/worktreeCreate a worktree thread
/goalStart autonomous goal mode
/dataOpen analytics dashboard
/usageAlias for /data

@mentions

Type @ in the chat input to fuzzy-search and attach context. Mentions appear as removable pills above the input.

@fileAttach a project file with git status and timestamp
@agentReference a built-in or custom agent
@skillAttach a skill from .kiro/skills/
@promptAttach a steering prompt from .kiro/steering/
Screenshot: Chat interface with agent mentions and slash commands

Goal mode

Give the agent a durable objective and walk away. It keeps working through plan → implement → verify cycles with self-correction until done, budget-limited, or paused. Inspired by Codex CLI's /goal and the Ralph Loop.

Autonomous loop

Type /goal, set an objective and stop condition, and the agent runs iteratively without further input.

Self-correction

Mistakes are logged as corrections and injected into every subsequent iteration. The agent never repeats a listed error.

Budget and safety

Token budget, iteration cap, and consecutive-failure detection. Auto-pauses when stuck. Manual pause/clear anytime.

Editable templates

Prompt templates live in .kiro/goal/ and are editable per-project. Customize the agent's phased approach.

Works with any agent

Built as a generic orchestration layer over ACP. No Codex-specific tools required — uses sentinel-based completion.

Progress tracking

Each iteration logs progress to .kiro/goal/progress.md. Review what the agent learned and where it got stuck.

Commands

/goal <objective>Start a goal
/goalShow status
/goal pausePause after current turn
/goal resumeResume a paused goal
/goal clearDrop goal, return to chat

File tree

Collapsible file tree panel with real-time filesystem watching. Drag files into chat to attach them as context.

Git status indicators

Modified, added, deleted, and renamed files are color-coded with git status badges.

Inline actions

Rename, create file/folder, and context menu actions without leaving the panel.

Drag to chat

Drag files from the tree into the chat input to attach them as @file context pills.

File preview

Click any file to open a syntax-highlighted preview modal with line numbers.

Toggle hidden files

Show or hide dotfiles and gitignored entries. Collapse/expand all directories.

Real-time watching

File changes from the agent or external editors appear instantly in the tree.

Code and diffs

See every change the agent makes with syntax-highlighted diffs. Click any file operation in chat to jump straight to the diff.

Inline and side-by-side diffs

Syntax-highlighted with Shiki. Toggle between unified and split views.

Code viewer

Read tool calls render with line numbers and full syntax highlighting.

Changed files summary

Per-file +/- stats with one-click stage and revert.

Screenshot: Side-by-side diff viewer with syntax highlighting

Git integration

Native git operations via libgit2. No shell commands, no PATH dependency. SSH and HTTPS credential support built in.

Branch, stage, commit, push

Full git workflow without leaving the app. Live diff stats in the header bar.

Git worktrees

Isolate each thread in its own working directory. Auto-cleanup on thread close.

/branch and /worktree

Create branches and worktrees inline. Symlink node_modules and copy gitignored files via .worktreeinclude.

AI commit messages

Generate commit messages from diff stats. One click to stage, commit, and push.

Branch management

Create, switch, and delete local branches from the branch selector dropdown.

Worktree badges

Sidebar badge and branch selector indicator for worktree-backed threads. Auto-cleanup on close.

Related commands

/branch <name>Create and checkout a new branch
/worktree <name>Create a worktree and spawn a thread in it
Screenshot: Git branch selector and worktree creation

Integrated terminal

A real PTY terminal powered by xterm.js and portable-pty. Toggle with Cmd+J.

Full PTY emulation

Run any command. Resizable drawer at the bottom of the chat panel.

Per-thread terminals

Each thread gets its own terminal session, scoped to the project directory.

Clean lifecycle

PTY processes are killed on window close and thread teardown. No orphans.

Related shortcuts

Cmd+JToggle terminal drawer
Cmd+LFocus chat input from terminal
Screenshot: Integrated terminal drawer below chat

Split-screen

View two threads side by side, even from different projects. Each panel has its own independent chat input.

Drag to split

Drag any thread from the sidebar onto the main area to open it in a split panel.

Right-click split

Right-click a thread and choose "Split left" or "Split right" to place it in either panel.

Draggable divider

Resize panels by dragging the divider. Double-click to reset to 50/50. Blue indicator during drag.

Focus indicators

Clear visual ring and dot on the active panel. Click to switch focus between panels.

Responsive

Minimum 400px per panel. Auto-collapses to single view if the window gets too narrow.

Cmd+\ shortcut

Toggle split view with a keyboard shortcut. State persists across app restarts.

Multi-window

Open multiple Kirodex windows from the native File menu. Each window runs independently with its own state.

Cmd+N new window

Open a new window from the File menu or with the keyboard shortcut.

Independent state

Each window has its own threads, terminal sessions, and agent connections.

Cross-project work

Work on different projects in separate windows without switching contexts.

Analytics dashboard

Track your AI-assisted development with local-only analytics. All data stays on your machine.

Nine chart types

Coding hours, messages, tokens, tool calls, diff stats, model popularity, mode usage, slash commands, and project stats.

ACID-compliant storage

Powered by redb for crash-safe local persistence. No cloud, no telemetry.

Access via /data

Open the dashboard with the /data or /usage slash command. Clear data anytime from Settings.

Related commands

/dataOpen analytics dashboard
/usageAlias for /data

Notifications

Native desktop notifications when the agent finishes while the app is in the background. Configurable in settings.

Turn completion alerts

Get notified when the agent finishes a turn while you're in another app.

Configurable

Toggle on/off in Settings > General > Permissions. Respects macOS notification preferences.

Non-intrusive

Only fires when the app is in the background. No interruptions while you're actively using Kirodex.

Settings

Full-screen settings panel with everything you need to configure.

CLI path and model

Configure kiro-cli path, default model, and auto-approve preferences.

Appearance

Dark, light, and system themes. Adjustable font size. Sidebar position.

Keyboard shortcuts

Cmd+L to focus chat, Cmd+J for terminal, Cmd+D for diffs, Cmd+B for /btw, and more.

Crash recovery

Detects corrupted store data and offers a one-click reset. Automatic backups protect your threads.

Recent projects

Quickly reopen previously used projects from the sidebar menu. State persists across restarts.

Per-project preferences

Auto-approve, worktree defaults, symlink directories, and custom icons per project.

Auto-update

Update checker with sidebar badge. One-click install when a new version is available.

Privacy controls

Optional anonymous analytics. No prompts, code, or file paths are ever sent.

Screenshot: Settings panel with appearance and keyboard shortcuts

Performance

Built with Tauri and Rust. No Electron, no bundled Chromium, no Node.js runtime.

12 MB

App size

~0%

CPU at idle

~110 MB

RAM usage

~2s

Incremental build

Keyboard-first

Cmd+LFocus chat input
Cmd+JToggle terminal
Cmd+DToggle diff panel
Cmd+BSide question (/btw)
Cmd+\Toggle split view
Cmd+NNew window
EscPause agent
Cmd+,Open settings
Cmd+Shift+[Previous thread
Cmd+1-9Jump to thread

Ready to try it?

Download Kirodex

macOS, Windows, and Linux. Open source, MIT licensed.