Work

Needs you, Not started, In flight, Done and Activity - one screen answering what is waiting on you across every repository

Work is the screen that answers "what is happening, and what needs me". It spans every connected repository by default, with one filter chip to narrow to a single repo.

Five tabs:

TabWhat is in it
Needs youThe decisions waiting on a person, each with the one button that settles it. The default tab.
Not startedOpen issues and pull requests on GitHub with nothing running on them yet - what to pick up. Fetched only when you open the tab, and per repository: with more than one connected, pick one in the filter chip first. An issue's Start button names the agent it will run, and its arrow lets you choose another; Close issue is in the row's menu. A pull request has Diff and Merge.
In flightWhat your agents are doing right now.
DoneEverything that shipped, paging back through your whole history.
ActivityThe feed of everything the agents did, as history rather than as a decision list.

One "Needs you"

There is one Needs you list, wherever you open it:

  • Duplicates about the same pull request fold into one row, keeping the richest version of it - the reason it is waiting, plus Dismiss and Snooze.
  • The right-hand queue is the same list. It opens from the same header button on every Foxl Code screen except an open task, whose decisions are in its own conversation. On Work the queue and the Needs you tab are one list, so dismissing a row in one clears it from the other at once.
  • The count on the home screen and the count here are the same definition, from one shared snapshot.
  • It is sorted by how much each row matters, not by where the row came from.

Old links still land: /inbox, /code-inbox and /activity all open Work, on the matching tab.

Cards

Each card's title has its first row to itself, with the repository and how long ago under it; the colour of its icon and its main button say what kind of card it is. A card about a problem - failed checks, requested changes, a refused merge, a question - says what went wrong, and a second problem on the same task shows under it.

Dismissing

Every card has an X in the same corner (44px on a phone), and hiding one hides the whole subject rather than leaving a sibling row behind. Explaining why is offered under the card's own menu, because that is what stops Foxl proposing the same thing next week.

  • A red build you hide comes back if it fails again - the dismissal is per failure, not a permanent mute.
  • The one card with no X is a plan waiting for approval, because there is nowhere else in the app to find it.

The repo filter narrows the whole tab

Picking a repository filters the whole list. Rows that belong to no repository always show.

Plain status words

A row says what happened in words that do not assume you write code:

  • Checks failed - and which check.
  • Ready for your review
  • Agent is working

Each row also names the task, its pull request number, and how long the run took.

The buttons

ButtonWhat it does
MergeMerges the pull request. Press it twice: the first press arms it. On a card that shows the pull request as approved, it merges only the commit that was approved; if new commits arrived after the approval, it merges nothing and opens the diff instead.
Fix itSends the agent back at a failing build or a review that asked for changes - it reads the failing checks or the comments and pushes to the same pull request.
Start an agentStarts an agent on an unclaimed issue.
Close issueCloses the issue on GitHub as "not planned", with a comment saying it was declined through Foxl Code, so the trail exists outside Foxl. Like Merge, it takes a second press.
DiffOpens the change.
Dismiss / SnoozeTakes the row out of the queue, now or for a day or a week.

To get Foxl's independent reviewer on any pull request in a connected repository, comment @foxl review on it, or turn on Review every pull request when it opens for the repository (see GitHub). To ask for specific changes, open the task: in its Changes tab, click a line number in the pull request's diff, say what should change, and press Request changes. Each comment travels with its file and line to the same agent, which addresses it on the branch it already pushed; an optional note covers the pull request as a whole. If no agent is behind the pull request, the comments are posted on GitHub and it says nothing was restarted.

Fix it wakes the agent on the task's own branch. While its machine is still up the checkout and its dependencies are there; after a recycle Foxl Code clones the pushed branch back and Claude Code picks up its conversation. Only when the workspace cannot be rebuilt does it say so and leave Retry to you, rather than quietly starting a paid run from scratch. See Resume from review.

On a task the agent ran from your prompt (not a terminal you opened), Fix it is one more turn: the agent picks up its earlier conversation when the workspace still has it, makes the fix and stops, and the task goes back to review with its pull request. A Claude Code task that is still running takes the message at its next tool call; an agent that cannot take input any more is not sent it, and Foxl says so instead of reporting it sent.

What clears itself

Merged and closed pull requests drop out of the queue on their own, so rows about work that is already finished do not need dismissing. Budget warnings and hard-capped agents still surface here, since nothing else reports them.

Runtimes: a list of live terminals

Runtimes is where you watch runs. It opens on a list: Open holds the terminals you have open, and Running holds agents at work that no terminal is showing. Press a row to open that terminal full size; the back arrow at the left of its header (or Esc outside the terminal, or Cmd+Shift+Enter) returns to the list, and Cmd+[ / Cmd+] step to the previous or next one. Every other terminal keeps running while you are on the list. Each terminal's header carries its status, backend, model, branch and live spend beside the output they describe, with Stop, Open on GitHub and Copy task id in its menu.

  • The header reads as one control, + | Remote | Claude Code: open a terminal, on that machine, running that agent, and go straight into it. Cmd+T (Ctrl+T) does the same, and Cmd+F searches a terminal's scrollback. Up to six open at once. The list survives leaving the page and coming back.
  • The agent picker's first choice is Terminal: a plain login shell on the machine you picked, in the repository's checkout, with no assistant and no model in it. Anything you commit is pushed to the session's own branch; closing it opens no pull request.
  • Arriving opens the list, not a terminal, and a terminal you close stays closed. Closing a terminal you opened stops the agent in it - it still commits and pushes what is in the tree on its way out - and the X says so first. A pane opened from Watch a run is a window onto a job dispatched elsewhere: closing it leaves the agent running, and reopening reattaches.
  • A cloud pane running Claude Code whose machine has gone to sleep (fifteen idle minutes) offers Reconnect, which clones the task's pushed branch back and picks up Claude Code's conversation. While the previous run is still finishing (after Stop it still commits, runs the tests and pushes), Reconnect says so and works once that run has ended. A plain Terminal pane comes back as a shell, and can be reconnected only if Claude Code was your default assistant when you opened it. Keys typed while a machine is still starting are held and delivered in order once the assistant is ready.
  • In the Foxl desktop app with Where Foxl Code runs set to This computer, the Runtimes menu also has New terminal in a worktree and Review changes... - see On your own computer.
  • Each row on the list leads with the mark of the agent running in it and shows a cloud, laptop or server glyph for where it runs. The sidebar keeps Runtimes as a single row; the list is the page.

The home screen

The Foxl Code home screen is the list of your tasks, grouped the way Claude Code lists its background agents: Needs you (the same decisions this page shows), Working and Done. Each row names the task, what came back, its pull request and how long ago; press it to open the task, and press Esc or the back arrow to return. The composer stays at the bottom to start the next one. A new account opens on the greeting instead.

A summary line - for example 2 needs you · 3 working · 97 done - sits beside the page title on every Foxl Code page (at the top of the list on a phone). Each number opens the list at that group, and at zero it stays, so the line does not come and go as the counts move.

  • Tasks - the lifecycle behind each row.
  • Autonomous loop - what fills Needs you with proposals and questions when you are not in the chat.
  • GitHub - what happens when an issue is opened.
  • Review on approval - the independent reviewer that checks pull requests.

On this page