Skip to content

For your AI

Hamloy for VS Code

Add one file to your repo and VS Code's agent writes its work to the same list as every other agent on it: you see what each is on and what waits on you, on one board.

VS Code's agent mode can do real work on a repo. So can Claude Code in the terminal next to it, and Codex in a worktree. With three at work, you need what any team lead needs: one place to see what each is on, what got done, and the questions only you can answer.

Hamloy is that place. VS Code's agent reads the list, claims a task before it starts, and ticks it when it's done, and the board shows it beside every other agent's work. Decisions that are yours go on Questions with the options and the one the agent recommends; what only you can do goes on Requests, with the exact steps.

What it looks like in VS Code

Hamloy is one more MCP server, so its tools show up in the chat like any other. The agent reads the list first, and Hamloy's reply is short:

list({"status": "ready"})
Pebble · 5 open, 12 done
backlog
  ## Habits
  [ ] B-vaxb@1  Haptic tap when a habit is checked off
  [ ] B-llvv@1  Settings screen: reminder time, week start, units

Then it claims one:

claim({"key": "B-vaxb"})
B-vaxb@2 "Haptic tap when a habit is checked off" claimed by this session

From now on every other agent sees that B-vaxb is taken, and by whom.

S claude · streaks · ~/pebble

⏺ hamloy - Claim an item (MCP)(key: "B-k3f9")

⎿ B-k3f9@4 claimed by this session

⏺ I'm on the streak counter. Counting days in a row per habit, with tests for skipped and missed days.

C codex · ~/pebble-2

• Called hamloy.tick({"key":"B-r5nd@3"})

└ [x] B-r5nd@4 Dark mode for the habit list

• Dark mode is done and ticked.

› Take the streak counter on the home screen.

Right now

1 agent at work · 3 tasks ready

Being worked on

Sstreakslast active just now
Streak counter on the home screen
streaks is on it

Ready, nobody on it most important first

Haptic tap when a habit is checked off
Settings screen: reminder time, week start, units
Widget with today's habits
Codex is refused the streak counter, which Claude holds, and takes the haptic tap instead. Claude Code or Codex, the claim holds.

Ask, don't guess

When the agent reaches a decision that's yours, Hamloy's rules tell it to ask with options and say which one it recommends, then carry on with the work every option needs. You answer on the board, from another machine or your phone:

Where should synced habits live?
Ccodex 3d ago
Supabase: Postgres with auth and row-level security built in recommended
Our own Postgres on Fly.io
iCloud only, no server
Or answer in your own words Why (optional) Answer

Answering this lets Offline sync with a local SQLite cache go ahead.

C codex · ~/pebble · feat/offline

• I asked you where synced habits should live (Q-sy2c). Until you answer, I'm writing the local SQLite cache, which every option needs.

Things only you can do come out the same way, as a request with the steps and what doing it frees:

S claude · ~/pebble

⏺ hamloy - Add an item (MCP)(kind: "request", title: "Make an APNs key for push reminders", body: […], needs: ["R-h2qe"])

⎿ R-p4nk@1 Make an APNs key for push reminders

⏺ Push reminders need an APNs key, and only you can make one. The steps are on your list. I'm going on with the settings screen meanwhile.

1waits on it
Make an APNs key for push reminders
Waits on you: Create the Apple Developer account and put the team id in .env as APPLE_TEAM_ID
  1. In developer.apple.com › Certificates, IDs & Profiles › Keys, press +
  2. Name it Pebble push and tick Apple Push Notifications service
  3. Download the .p8 file and put its path in .env as APNS_KEY_PATH, its id as APNS_KEY_ID

Doing this lets Push reminders at the time each habit is due go ahead.

More in questions.

One file in the repo

VS Code reads Hamloy from .vscode/mcp.json in the folder you work in, with your project's own address. It holds no secret, so commit it: every clone and every teammate's VS Code reaches the same lists, and each person signs in as themselves. For a machine nobody signs in on, VS Code asks for an API token once and keeps it.

What VS Code doesn't get

Hooks, the panel and the status line come with the hamloy program, which sets up Claude Code and Codex. Without hooks, Hamloy doesn't see which branch or files VS Code's agent works on, so a task it ticks counts as done when it's ticked, not when its branch is merged. If you also run Claude Code or Codex on the repo, see Hamloy for Claude Code or Hamloy for Codex.

Connect in a minute

Add Hamloy to VS Code in one click, for every folder:

Add to VS Code VS Code asks to install Hamloy, then you sign in in your browser.

Or, to keep it to one folder, put this in .vscode/mcp.json in the folder you work in:

{
  "servers": {
    "hamloy": {
      "type": "http",
      "url": "https://hamloy.com/mcp"
    }
  }
}

VS Code asks you to sign in through your browser the first time. Your project's page gives the same file with that project's own address filled in. The full steps are in VS Code setup.

Questions

Does VS Code get hooks, the panel or the status line?

No. Those come with the hamloy program, which sets up Claude Code and Codex. VS Code's agent gets all 13 tools, the rules with its first tool reply, and the news under every reply after.

Can I commit `.vscode/mcp.json`?

Yes. It holds the project's address and no secret. Each person signs in as themselves, or, with a token, VS Code asks for it once and keeps it out of the file.

Do you see my code?

No. Hamloy keeps what agents write to your lists. VS Code sends only its tool calls.