Managing multiple AI coding agents with a work queue

Running several AI coding agents across projects makes it hard to remember what each one is on. A work queue keeps the list honest and your check-in accurate.

DailyPulse team ·

An engineer at a home-office desk works across several code windows on a wide monitor.

Managing multiple AI coding agents is mostly a memory problem. If you run several at once, you probably know the feeling. One agent is deep in a refactor, another is waiting for your answer, a third finished an hour ago. Meanwhile a project you care about has not had your attention all week, and you cannot say which one.

This post describes a small tool for that problem: the DailyPulse work queue. It does not manage your agents. It helps you, the engineer, keep track of what each project and each agent is on, and it keeps your daily check-in honest without extra typing.

The problem with managing multiple AI coding agents

Agents make it cheap to start work. They do not make it cheaper to remember it. When you work across projects, three things tend to go wrong:

  • Neglect hides. The project that is loud gets your attention. The quiet one slips.
  • Your memory is the log. At the end of the day you try to reconstruct what happened, and you forget half of it.
  • The check-in gets vague. “Worked on a few things” is a poor answer to “what did you do yesterday?”

The work queue is a simple answer to each.

How the queue works

The queue is a list of your projects. The rule for the order is one sentence: the project you have left alone the longest comes first. A project you never touched is at the top. A project you just worked on drops to the bottom.

There is no other ordering. No priority score, no hidden weighting. When you look at a row, you can always say why it is there.

You do not choose which projects appear. They come from what you are assigned to, so an admin adds you to a project and it shows up. There is nothing to pin or unpin.

Worked or passed, one keystroke

For each project, you make one of two small claims:

  • Worked: I spent time on this.
  • Passed: I looked at it and chose to do something else.

Each takes one key press, and you can add a short note if you want to. Both are remembered, and both count as attention. Passing is not failing. Sometimes “not today” is the right call, and the queue treats it as a real decision.

If you want a project out of sight for the rest of the day, there is a third action: hide until tomorrow.

No stopwatch

The queue has no timer. Nothing to start, nothing to stop, and nothing to forget to stop. An entry is an instant: “I worked on this, now.”

If you want to record hours, you can, as a separate and deliberate step. Nothing is ever guessed from a clock.

In your terminal

The queue also runs in a terminal, so you can keep it in a narrow pane beside the shell you work in:

npx @dailypulse/wq

The keys are the same ones the web app uses:

KeyAction
wworked it
spassed on it
Shide until tomorrow
tlog hours
j / kmove down and up

You need a personal access token, which you create in the app under Profile, then API tokens. Run wq --doctor to check that the setup works, and wq --json if you want to read the queue from a script.

Letting your agents report

Typing a key is fine for you. For your agents, there are two ways to report work, and they work together.

The MCP server

DailyPulse offers an MCP server. Connect your coding agent to it with the same token, and the agent can call tools such as:

  • wq_queue, to read your queue.
  • wq_work, to record work on a project, with a short note.
  • wq_skip, to record a pass.
  • wq_heartbeat, to say “still on this” without adding to the history.
  • wq_daily_draft, to fetch the day’s entries as a draft check-in.

You can add a line to a repository’s AGENTS.md so the agent reports when it starts work there. Because the model decides when to call the tool, this is flexible, and it is not guaranteed.

Two things are left out on purpose. Agents cannot hide a project, and they cannot log your hours. Those are claims about your own day, and a guess would be worse than silence.

The Claude Code hook

If you use Claude Code, a hook can do the reporting for you, with no model in the loop. One script runs when a session starts and records work on the project. Another runs when a turn ends and sends a heartbeat. It is deterministic: if the hook is set up, it fires.

You bind each repository to a project with a small file that holds a project name, or with a private map on your own machine. A repository that is not bound reports nothing. That is deliberate, so a client’s private work is never attached to the wrong project by a guess.

The hook is quiet by design, so it never interrupts a session. A doctor command shows what it is doing, and off and on pause and resume it.

It also debounces. A hook that fires every turn would fill your history with near-identical lines, so by default it reports a repository at most once every two minutes.

What leaves your machine

This matters, so here it is plainly. The hook sends a project name and a timestamp. It does not send your prompts, the replies, file paths, or your repository layout.

One opt-in extra exists, off by default: the current branch name as a note. Think before turning it on, because notes feed your check-in draft, which your organization can read once you submit it.

Your queue entries and notes are private to you. Presence, the “working right now” view, is a separate setting that is off by default, and it shows teammates only a project and how recently, never a note.

Keeping the daily check-in honest

Here is where it pays off. At the end of the day, your check-in is pre-filled from the entries you made, with the projects you touched and the notes you wrote. You edit it and submit it. Nothing is published until you do.

The next morning, “what did you do yesterday?” has a real answer. And “what will you do today?” has a place to start: the top of your queue is the project you have neglected longest.

If you filed a check-in today, the terminal client shows what you said about the selected project right under it. The plan sits next to the record of what you actually did. You see it, and nobody else is grading it.

Getting started

The work queue is part of DailyPulse, and DailyPulse is invite-only for now. Setting up the terminal client, the MCP server and the Claude Code hook takes a few minutes with a token. If you would like to try it with your team, talk to us at hello@dailypulse.ai. If you have already been invited, open the app at app.dailypulse.ai.