One script tag on your app. Ask for a change — typed, dictated, or photographed — and your own server runs a real Claude Code session that edits your codebase and commits it, right where you're looking. Open source, self-hosted, your keys, MIT.
Hi PH. I made this for myself first.
I own a few small static sites, and the thing that finally annoyed me enough to build something was fixing a typo from my phone. It meant getting to a laptop, opening the repo, editing, committing, pushing — for one word. That's ridiculous overhead for a change I could describe in a sentence.
So Agent Keyboard is that sentence. One script tag adds a prompt bar to a site I own. I tap it, say what I want changed — typed, dictated, or from a photo — and a real Claude Code session edits the site's own git repo and pushes it. My host redeploys like it would for any commit. I can do it one-handed, standing in line.
I open-sourced it because there was genuinely no reason to keep it closed. It's not a service — you run it yourself, on your own Claude subscription, editing your own repos. Nothing passes through me. It's allow-list-gated by design and narrow on purpose, and honestly a lot of it was built by asking Claude Code to build it.
The demo I'm proudest of is the least flashy: the landing page runs the bar on itself, so the site edits its own code. Those "Agent Keyboard" commits in the repo's history were made from the bar, not by me in an editor.
MIT, self-host in about an hour: https://github.com/vibhasjain/ag... — I'm here today, ask me anything.
Report
A thought since you run everything through Claude Code sessions already: add a quick "undo last edit" button or keyboard shortcut that reverts just the most recent commit the agent made. Long sessions make it easy to lose track of which change broke something, and having a one-tap rollback tied to that specific agent run would be a lifesaver.
Here's a fun thing to try. If you have it already setup, give your agent keyboard this prompt:
"Add a quick "undo last edit" button or keyboard shortcut that reverts just the most recent commit the agent made. Long sessions make it easy to lose track of which change broke something, and having a one-tap rollback tied to that specific agent run would be a lifesaver."
It'll just add a functoning button to itself 😂 If it works well, tell it to send me a PR and I can consider merging it
It's super fun because you're modifying your coding environment from your coding environment. Pretty cool experience.
Report
love the self-hosted approach, basically a dev tool that actually respects your keys. one thing that would help me a lot is a dry run mode, so you can see exactly which files it plans to touch and what the diff would look like before it actually commits anything. kind of scary letting an agent push changes without a preview step
@egemensnme99249 Yes that could help. I've right now instructed it to just push because I personally hate looking at the code. But it supports code blocks in line. So you could easily tell it to review everything with you before pushing.
The cool part is that all you have to do is just tell it after firing it up. Tell it to always discuss code-diffs with you before pushing. Tell it to save it to memory. It'll actually save that instruction to Claude's memory md.
If you don't like the views it's showing you, tell it to design a better in-line diff! It has the ability to modify itself. It's super fun to do that. It goes down for a couple of seconds whenever the server is restarted, but it should just pick the conversation back up.
Crypto Squad
A thought since you run everything through Claude Code sessions already: add a quick "undo last edit" button or keyboard shortcut that reverts just the most recent commit the agent made. Long sessions make it easy to lose track of which change broke something, and having a one-tap rollback tied to that specific agent run would be a lifesaver.
Crypto Squad
@neslihantbkqjo That would be super cool!
Here's a fun thing to try. If you have it already setup, give your agent keyboard this prompt:
"Add a quick "undo last edit" button or keyboard shortcut that reverts just the most recent commit the agent made. Long sessions make it easy to lose track of which change broke something, and having a one-tap rollback tied to that specific agent run would be a lifesaver."
It'll just add a functoning button to itself 😂
If it works well, tell it to send me a PR and I can consider merging it
It's super fun because you're modifying your coding environment from your coding environment. Pretty cool experience.
love the self-hosted approach, basically a dev tool that actually respects your keys. one thing that would help me a lot is a dry run mode, so you can see exactly which files it plans to touch and what the diff would look like before it actually commits anything. kind of scary letting an agent push changes without a preview step
Crypto Squad
@egemensnme99249 Yes that could help. I've right now instructed it to just push because I personally hate looking at the code. But it supports code blocks in line. So you could easily tell it to review everything with you before pushing.
The cool part is that all you have to do is just tell it after firing it up. Tell it to always discuss code-diffs with you before pushing. Tell it to save it to memory. It'll actually save that instruction to Claude's memory md.
If you don't like the views it's showing you, tell it to design a better in-line diff! It has the ability to modify itself. It's super fun to do that. It goes down for a couple of seconds whenever the server is restarted, but it should just pick the conversation back up.