Kennel 1.0.0 – Native Desktop App for Managing AI CLI Agents Kennel 1.0.0, a native desktop app for managing multiple AI CLI agents side by side, has been released. The app allows users to run, organize, and persist sessions for tools like Claude Code and Kiro CLI, with sessions surviving app restarts and machine reboots. It aims to solve the pain of juggling terminal tabs and lost context for AI coding agents. Kennel is a fast, native desktop app that lets you run and manage many interactive AI CLI agents β€” like Claude Code , Kiro CLI , OpenAI Codex , or any tool of your own β€” side by side in a single window. Organize them into groups, keep them running between tasks, and jump between conversations without juggling terminal tabs. Most importantly: restart your app or reboot your machine, and every session comes back exactly where it left off, using the agent's native resume flag e.g., Claude's --continue or Kiro's --resume . | Platform | Download | Notes | |---|---|---| Windows 11 | | macOS ARM kennel-macOS 26.5.1 arm64.zip https://github.com/eranif/kennel/releases/download/1.0.0/kennel-macOS 26.5.1 arm64.zip See Releases https://github.com/eranif/kennel/releases for other platforms and versions. If you use AI coding agents from the terminal, you already know the pain: a dozen terminal tabs, no idea which agent is waiting for you, and lost context every time you close a window. Kennel fixes that. - πŸ—‚οΈ Everything in one place β€” every agent session lives in a single window, in a tidy sidebar you can organize however you like. - πŸ“ Group your work β€” bucket sessions into groups such as Work , Customer Tickets , or Experiments . Collapse a group to get it out of the way; reopen it when you're back. - πŸ”„ Never lose your place β€” sessions persist between app restarts and resume with their native --resume / --continue flags, so your agent picks up where it left off. - ⚑ Runs everything, natively β€” each session is a real terminal full PTY backed by OpenGL on macOS & Windows, so any interactive CLI works exactly as it does in your shell β€” colors, prompts, and all. - 🧩 Add any agent, no code required β€” define new agents through a simple dialog or JSON. Local or over SSH. - 🌈 Make it yours β€” built-in color themes, custom fonts, and per-agent icons. | Start an agent | Manage groups | |---|---| Define a new agent in three guided steps: | Step 1 β€” Local or Remote? | Step 2 β€” What to launch | |---|---| | Step 2 β€” Filled in | Step 3 β€” Shell & Environment | |---|---| Kennel has just three things to understand: | Concept | What it is | |---|---| Agent | A definition of how to launch an AI CLI β€” its executable, arguments, environment, icon, and optionally a remote host. Kennel ships with Claude Code, Kiro CLI, and OpenAI Codex predefined. | Session | A single, named, running instance of an agent in a working directory. Each session is a live terminal. | Group | A folder in the sidebar that holds related sessions. There's always a Default group; create as many others as you want. | The sidebar on the left is a tree of Groups β†’ Sessions . The large area on the right is the terminal for the currently selected session. Press Ctrl/Cmd+T , choose File β†’ Start Agent… , or click the βž• button in the toolbar. The Start Agent dialog lets you set: Agent β€” which CLI to launch defaults to your configured default agent . Session Name β€” a unique, human-friendly label for this session. Session Group β€” pick an existing group or type a new name to create one on the fly. Working Directory β€” where the agent runs. Browse locally, or browse a remote host over SSH for remote agents. Create an inner folder within the working directory β€” automatically nests a folder named after the session. Resume the Latest Session in This Folder β€” relaunch the most recent agent run from that directory instead of starting fresh. Click OK and your agent launches in a new session under the chosen group. Selecting a session in the sidebar brings its terminal to the front. Type and interact exactly as you would in any terminal. While an agent is busy, its sidebar icon shows a spinner; when it's done, it returns to the agent's icon β€” so you can tell at a glance which agents are working and which are waiting for you. If a background session finishes while the window is inactive, Kennel gently requests your attention. Right-click a session for the context menu: Move to Group β–Έ β€” send the session to another group, or New Group… to create one. Moving the last session out of a group removes the empty group except Default , which always stays . Close β€” permanently remove the session. Right-click a group header for: Start Agent… β€” launch a new agent pre-assigned to that group. Rename Group… β€” rename the group Default can't be renamed . Close Group β€” close every session in the group at once. Refresh β€” restart every session in the group. Beyond the three built-ins, you can define your own agents β€” a locally-installed CLI, an internal tool, or an agent that runs on a remote machine over SSH . Open File β†’ Create New Agent… Ctrl/Cmd+N to launch the New Agent Wizard , which walks you through three steps: Choose whether the agent runs on your local machine or on a remote host over SSH. If remote, provide the host address and optionally a username. You can browse your saved SSH hosts with the … button. Configure the agent's identity and command: | Field | Purpose | |---|---| Name | Display name shown in menus and the sidebar. | Executable | The command to run β€” the wizard auto-discovers known CLIs claude , kiro-cli , codex locally or on the remote host. | Launch Args | Arguments passed on every launch e.g. --agent my-agent . | Resume Args | Flag s used to resume a prior session e.g. --resume , --continue . Pick from suggestions via …. | Image | An SVG icon to represent the agent in the UI. Browse shipped assets via …. | | Field | Purpose | |---|---| Login Shell | Override the shell used to spawn the agent e.g. /bin/zsh , wsl.exe . | Environment Variables | Extra name/value pairs passed to the agent process. Add or remove with the New / Delete buttons. | Click Finish and the new agent appears immediately in the toolbar and the Start Agent dialog. | Action | Shortcut | |---|---| | Start Agent | Ctrl / Cmd + T | | New Terminal | Ctrl / Cmd + E | | Create New Agent | Ctrl / Cmd + N | | Restart Current Session | F5 | | Select Next Session | Ctrl / Alt + β†’ | | Select Previous Session | Ctrl / Alt + ← | Kennel remembers your sessions between runs. On restart it restores each session and, where the agent supports it, resumes the underlying conversation using that agent's native resume flag configured as Resume Args . This means closing Kennel β€” or rebooting β€” doesn't cost you your agent's context. Sessions that self-exit via Ctrl-D or exit are automatically removed from the sidebar. Themes β€” pick a terminal color theme from Settings β†’ Theme Cobalt2, Monokai, One Dark, One Light, and more . Font β€” set the terminal font and size from Settings β†’ Change Terminal Font… . Remote hosts β€” manage reusable SSH hosts from Settings β†’ Manage Remote Hosts… . Plain terminals β€” open a terminal without an agent via File β†’ New Terminal Ctrl / Cmd + E . All settings live under ~/.kennel/ and are editable in the app. For build prerequisites, per-platform instructions, and the developer guide, see BUILDING.md . Everything lives under ~/.kennel/ : ~/.kennel/ β”œβ”€β”€ config.json Your agent definitions β”œβ”€β”€ workspace.json Your sessions and their groups β”œβ”€β”€ .persist.json UI preferences window size, theme, fonts β€” safe to delete └── logs/kennel.log Application log Corrupt config.json or workspace.json files self-recover: Kennel backs up the bad file .bak-