Run coding agents
from your phone.
An agent working on a remote machine spends most of its time not needing you — and then suddenly needing you. Kammel is built around that loop: it tells you when the agent is waiting, and gets context to it fast.
It tells you when the agent needs you
When a backgrounded session signals for input — the terminal BEL, or an OSC 9 / OSC 777 notification, which is what agent CLIs emit — a heads-up notification fires and takes you straight to that tab. You stop babysitting a scrolling log.
Alerts you can tune
Per-event intensity, quiet hours, detector sensitivity and per-session mute, plus a test button.
A log of what fired
Every alert is recorded with the reason it triggered, so a misfire can be diagnosed instead of remembered.
Getting context to the agent
Typing a long instruction on a phone keyboard is the real friction. Kammel attacks it from three directions.
Prompt library
Save the instructions you send over and over, and insert them as a bracketed paste — dropped into the prompt without submitting, so you can still edit before you commit.
Dictation
Compose with the device's speech recognizer when typing it out is not worth the effort.
Attach a file or a screenshot
Pick an image or file and Kammel uploads it over SFTP, then writes the remote path into the prompt so the agent can open it. A screenshot can be pasted straight from the soft keyboard on the same path.
The session outlives the app
A foreground service keeps every shell running while you are elsewhere on the phone, and a dropped connection reconnects in one tap with its tunnels restored. Pair that with tmux on the server and a long agent run survives anything your phone's radio does.
Reviewing what the agent actually changed
Kammel's git panel reads git status --porcelain, keeps the index and worktree columns separate, and renders a proper coloured unified diff per file. You can stage, unstage, discard, commit, amend, fetch, pull and push from the panel — so reviewing an agent's work does not mean typing git commands with your thumbs.
Which agents this works with
Anything that runs in a terminal. Claude Code, Codex, Gemini CLI, aider and the rest are ordinary TUI programs over SSH — Kammel's job is to render them correctly, notify you when they stop, and make the prompt easy to fill. There is no integration to configure and no API key for Kammel to hold.
Questions
Do I need an API key in Kammel?
No. The agent runs on your server and is authenticated there. Kammel is the terminal you drive it through — it never sees or stores a model API key.
How do I know when Claude Code is waiting for input?
Kammel listens for the terminal bell and OSC 9 / OSC 777 notifications that agent CLIs emit, and raises an Android heads-up notification that opens the right session tab.
Can I send a screenshot to the agent?
Yes. Paste an image from the soft keyboard or pick a file; Kammel uploads it over SFTP on the same connection and writes the remote path into your prompt so the agent can read it.
Will the session survive if I switch apps?
Yes. A native Android foreground service keeps every open shell alive in the background. Running the agent under tmux on the server adds a second layer for long jobs.
Free, open source.
Keep reading
Free SSH Client for Android
Kammel is a free, open-source SSH client for Android: multi-session terminal, SFTP explorer, code editor and port forwarding. No account, no subscription.
Android Terminal Emulator with SSH
A full xterm terminal for Android: 256 colours, alternate screen buffer, mouse reporting, sticky modifiers and programmable key rows. Free and open source.
SSH Client for Linux
The Kammel Linux x86_64 desktop build: same codebase as the Android app, same profiles, SFTP explorer, code editor, Docker console and port forwarding.