Our philosophy

Manage intentions, not sessions.

You shouldn't have to manage AI agents. You should only have to manage the work that needs your attention. Everything in ClankDesk follows from that one sentence.

A short manifesto6 ideas

The tabs are the problem.

Here is how building with coding agents looks for a lot of people today. A text editor, and next to it a terminal with a bunch of Claude Code or Codex tabs. Then a dozen tabs, each with a little title. Which one was the login bug? Which one asked you a question forty minutes ago and has been waiting ever since?

The agents are good. The coordination is the job nobody signed up for: describe the work, open a session, watch it, hunt for the one that needs you, review it, merge it, and try to remember what's left. You end up managing sessions, when what you care about is the work.

In a dozen tabs, you find out who needs you by checking each one. On the board, the question is already on top and everything else is one line.

An agent session is a means. Your intention is the point.

Speak tasks into existence.

The right interface for an intention is the one you already use with people: you say what you want. Talk for three minutes about two bugs and a feature, the way you would brief a colleague, and ClankDesk turns it into separate tasks, each with a plan.

One ramble, three intentions. Two become tasks that run side by side, each on its own branch; “someday” goes to the backlog.

A task is a persistent object, not a terminal session. It has a title, a brief, a branch, a history and a state. Sessions come and go underneath it: a turn ends, a usage limit hits, the Mac restarts, a different agent takes over. The task stays. That's what lets you stop thinking about sessions.

Sessions come and go: a question, a usage limit, a restart, a different agent. The task, with its brief, branch and history, stays.

The feeling we aim for is briefing an invisible team of developers that remembers everything and manages itself. You tell it what you want, it asks when it needs to, and it shows you the result.

Two states, and only one of them is yours.

Most tools give a task one status. ClankDesk gives it two, because two different parties care about it. The agent's side says what the work is doing. Your side says what you've decided about it.

The last two moments look the same to the agent: finished. Only your Approve takes a card off the board. Agent finished is not you approved.

Keeping them apart is what makes the board honest. Agent finished is not the same as you approved. A task can be done on the agent's side and still waiting for your eyes, and that waiting is exactly what the board should put in front of you.

So the board is ordered by attention, not by workflow columns. Cards that need a decision rise to the top: a question, a permission prompt, a failure that ran out of retries. Work in progress sits below in one quiet line each, saying what is happening right now. Finished work waits for your review under that. Questions interrupt the board, not your workflow.

Agents do hundreds of things. Questions, permission prompts and finished work reach you as cards; the rest is one line per task, saying what's happening right now.

Not an IDE. Not a Kanban. Not a chat with a task list attached.

Each shape puts something different in the middle of your screen. With agents doing the typing and the moving, what's left for you is the decisions.

Not an IDE, because you're not the one typing the code. ClankDesk has a file viewer, a diff and a command line for when you want to look, but the editor isn't the center of the screen. The decisions are.

Not a Kanban board, because nobody drags these cards. On a Kanban board, a person moves work between columns to tell other people where it is. Here the agents move the work, and the only thing a column would do is make you scan it. Cards pop in when you speak, rise when they need you, and leave once you approve. More on why it isn't a Kanban board.

Not a chat with a task list attached, because a scrolling conversation is the wrong shape for parallel work. You do talk to ClankDesk, and the chat can approve, pause, retry and relay between tasks. But the tasks are first-class objects on the board, not messages you have to scroll back to find.

Visual results, not terminal logs.

When a task is done, you want to know one thing: is this what I asked for? A thousand lines of tool output don't answer that. A picture usually does.

So finished work comes back as a short walkthrough: what changed and why, the images the agent made, before and after screenshots when you want them, a live preview of the branch, and the diff. The transcript is still there, one click away, for the times you want it. You never have to read it.

Finished work comes back as a picture, a one-line summary, the test result and a preview. The transcript is still there if you want it.

The same rule applies while work is running. No fake progress percentages. A card says what the agent is actually doing ("Running the tests", "Editing the pricing table"), and when it's stuck, it says that too.

A clean board, and a clean repository.

A clean workspace is a core product promise. Reviewed work gets out of the way: approve a card and it leaves the board. Set a decision aside with Stash and it's off the board without being lost. Archive the Done list when you want a blank slate.

Approve a card and it leaves the board. Decisions you set aside go to Stash, ideas to the backlog, finished work to Done. What's left is what's live.

The same goes for your repository. Agents never work in your checkout. Each task gets its own branch and git worktree. When you approve, ClankDesk commits, rebases, runs your tests and fast-forwards your branch on your Mac. Then the worktree is removed. Your uncommitted changes are never touched.

The merge runs on your Mac, in this order, every time. A branch only lands if it rebases cleanly and passes your tests on top of the latest main.

Safety by construction, not by good intentions.

ClankDesk's git code has no force push, no hard reset, no stash, no forced clean and no forced branch delete, and a test scans the code to keep it that way. Agents can't push, merge pull requests or publish releases. Risky commands become a question on the card. We'd rather ask you once too often than surprise you once.