One dashboard for coding agents across many projects and machines
Updated 2026-09-02
By your third repository you are checking three terminals to find out which agent is waiting on you. Denly shows every project, runner and open gate on one screen, while the work keeps running on the machines those repositories are checked out on.
Denly is a control plane for coding agents (Claude Code, Codex, Cursor, Grok Build, Antigravity) that run on your own machines and your own subscription: you describe a task, the agent plans it, you approve, it builds locally and opens a pull request. With several projects, the part that changes is where work runs and who can see it.
Three primitives
| Primitive | What it is | Use it for |
|---|---|---|
| Project | One repository, or one plain folder with no Git, mapped to a runner folder | The unit everything else is scoped to |
| Project group | Several projects sharing one machine credential and one parent folder | Work that has to touch more than one repository in the same run |
| Personal folder | Your own arrangement of the project switcher | Organizing your list without changing anybody else's |
Work that spans repositories
A task or Chat session running on a group runner can see every project in that group, so cross-project Skills and Docs resolve; a project runner sees only its own. You choose the runner when you create the task, or change the execution scope before work starts.
denly groups # what groups exist
denly install --group platform # install every project in one
denly status --all
denly restart --alldenly install-all installs every project this machine can reach in
one pass, and denly status --all is the one command that answers
"is anything stuck" across all of them. --all works on
status, not on logs.
Several people, the same project
Each machine runs its own runner, and claim scope decides what that runner picks up: only the tasks assigned to that person, or every actionable task in the project. Set it to assigned when more than one teammate runs the same project, and GitHub-style assignment then does the mutual exclusion – two machines never claim the same task.
Private projects limit discovery and access. A member who finds a project they cannot open can request access, and an owner or admin grants it. The workspace audit log records who invited whom, who changed a role, and who connected or deleted an integration.
What a plan covers
Projects are uncapped on every plan, so nothing here charges you for organising work. What is metered is what costs us: machines, concurrent execution, storage and people.
| Plan | Price | Machines, execution, storage, people |
|---|---|---|
| Free | $0 | 2 machines, one task at a time, 250 MB, 1 person, 1 workspace |
| Pro | $10 per month | Uncapped machines and workspaces, parallel tasks, 5 GB pooled, 1 person |
| Teams | $12 per seat per month | Everything in Pro for a team; 10 GB + 2 GB per seat; 2-seat minimum |
A machine is one computer, not one project: putting a second project on a laptop you already run does not use a second machine. On Free that machine runs one task at a time, and a Live Chat session holds the slot while it is open.
Crossing the storage line refuses new uploads and document saves and nothing else: everything already there stays readable and keeps running, and a task already running never fails on a quota.
Read next
Projects & repositories · Project organization & multi-repo work · Run Claude Code on your own machine, and drive it from anywhere · The coding agent pull request workflow: plan, approve, build, review, merge
Denly