Assign & Delegate
Assign to a person
xpo update <id> --assignee "Alice <alice@example.com>"
Assignees use "Name <email>" format. Configure your team in config.yaml so the web board's assignee picker knows who's available:
contributors:
- "Alice <alice@example.com>"
- "Bob <bob@example.com>"
In the board, click the assignee avatar on a board card, an Issues row or the issue sidebar — or press a on the focused card, row or open issue — to pick someone from your team. Unassigned issues show a dashed placeholder avatar. Type to filter the list:
Unassign
xpo update <id> --assignee ""
In the board, pick No assignee in the assignee picker.
Filter by assignee
xpo list --assignee "Alice" # substring match
xpo list --mine # assigned to you
Delegate to an agent
There are two ways to hand work to an AI agent:
Via MCP — if your agent has the MCP server configured (see MCP Server), it can pick up issues from the backlog using the list, show, and start tools. The agent reads the spec, starts the issue, and works it.
Issues are always assigned to a person, never to an agent. When an agent starts an issue, it's assigned to the person the agent works for, and the agent is shown as via: the board underlines Alice's name and shows "Claude Code for Alice" on hover, and the CLI prints "Alice (via Claude Code)". An issue already held by someone else keeps its assignee unless the agent forces a takeover. To see which work agents did, use the Worked by filter (Agent / Human) on the board. See Agent identity.
Via xpo drive — the autonomous loop picks the next PLANNED issue and hands it to a coder agent:
xpo drive # next PLANNED issue
xpo drive <id> # specific issue
xpo drive --filter "backend" # filtered by label
See AI Agents for full drive configuration.
Inbox
Stay on top of assignments and activity:
xpo inbox # events relevant to you
xpo inbox --since 2d # last 2 days
xpo inbox --clear # mark all as read
Shows assignments, comments, status changes, and merges on issues you created, are assigned to, or have commented on.