🐾 AgentKennel · open source · MIT

Real terminals
in your browser.

AgentKennel keeps a dozen real Claude Code terminals running on your own VPS. Close the tab and they keep working; pick them up in the browser or in Telegram, even on your phone.

  • Self-hosted
  • Official Claude Code CLI, your own subscription
  • HTTPS out of the box
  • No telemetry

What lives in the kennel

Your agents keep working.
You check in from anywhere.

The real Claude Code TUI, not a chat wrapper

Every agent is the actual claude terminal in its own tmux session on your server. Close the tab, the laptop or the phone and it keeps working. After a restart it reopens the same conversation. Idle ones are unloaded and come back with one click.

The dashboard: named terminals on the left, a live Claude Code session on the right writing tests and code

Telegram drives the terminals

Pick a terminal with /use, type or send a voice note, and get the screen back. Claude's multiple-choice questions arrive as buttons.

A Telegram chat with the bot: the list of terminals, a terminal restored from the archive, a voice note, and a question with buttons

A shared task board

Each agent logs its task on the board before it edits anything, and is nudged to keep going until the task is closed.

The task board: active, blocked and pending tasks, one expanded with its steps and progress

Full control of the server, or a sandbox

On the host, agents install packages, databases, sites and HTTPS themselves. In the Docker sandbox they can't touch the host. The Server tab shows which agent is using the CPU.

The Server tab: CPU, memory, disk and load, and the CPU over 15 minutes split into agents, sites and apps, and background jobs

Safety guards, held in code

Claude Code hooks check every shell command an agent runs, and stop the risky ones with a message that says what to do instead.

  • guard_secrets.pyNo private keys, tokens or the server's IP in a commit or push.
  • guard_kill.pySignals only to the agent's own processes. No pkill by pattern.
  • guard_email.pyNo mail to people without your yes.

Each guard has a one-time override the agent must write into the command, so you see it in the conversation.

Works on your phone

Swipe to scroll, hold and drag to copy. A key bar gives you Ctrl+C, Tab, arrows and Enter.

The dashboard on a phone: the terminal list at the top and a Claude Code session below

Install

One command on a fresh VPS.

curl -fsSL https://raw.githubusercontent.com/yanhs/agentkennel/master/install.sh | bash

Ubuntu 22.04/24.04, Debian 12 · run as a normal user with sudo

  1. HTTPS comes up by itself. A free sslip.io name for your server's IP and a Let's Encrypt certificate. No domain needed.
  2. Open the one-time setup link the installer prints, and set your password.
  3. Press + New terminal, sign in to Claude once, and give the agent a task.

Prefer a Docker sandbox?

Agents stay inside a container and can't touch the host.

git clone https://github.com/yanhs/agentkennel.git && cd agentkennel && docker compose up -d

Then docker compose logs agentdeck | grep setup prints the one-time link that sets your password.

Agents run with permission prompts off, via --dangerously-skip-permissions. Use a dedicated VPS or the Docker sandbox, not your laptop.

Honest comparison

Why not just…

Anthropic's Remote Control
Official, and great for one session from your own laptop.
CloudCLI / claudecodeui
A chat-style web UI for Claude Code.
AgentKennel
A dozen agents living on a server around the clock, in the real terminal UI.

Give your agents a home.

Star on GitHub