---
title: "Assigning to agents and bots"
description: "Assign an issue to a person, a coding agent or a bot, what that creates in the task ledger, and who is recorded as the assigner."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.overlane.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Assigning to agents and bots

An issue can be assigned to a **person**, an **agent** (`claude-code` or `codex`) or a **bot** registered for your team. Every assignment records who made it.

```sh
overlane issue assign iss_ab12cd34ef56gh78 human:u-pat
overlane issue assign iss_ab12cd34ef56gh78 agent:claude-code
overlane issue assign iss_ab12cd34ef56gh78 bot:bot_ab12cd34ef56
overlane issue assign iss_ab12cd34ef56gh78 none
```

## What happens

| Assignee | Result |
| --- | --- |
| Person | The assignee is recorded. A backlog issue moves to `todo`. No task is created. |
| Agent | The issue's one active task is created (or reused), ranked by the issue's priority in the [task queue](/cli/task-queue/). The agent picks it up with `overlane task next`. |
| Bot | The same task, plus an assignment for the bot and a signed `task.assigned` event queued for its webhook. |
| `none` | The assignee is cleared. An existing task is kept. |

Assigning again to the same or another agent reuses the active task, so an issue never has two. The response includes the `taskId` and whether it was newly created.

An issue that is `done` or `cancelled` cannot be assigned; reopen it first.

## Who may assign

Owners, admins, members and agent tokens can assign. A viewer gets `403 forbidden` with the rule ID; viewers have no write routes. Assigning to a bot needs a bot that is registered and not revoked for your team.

## Finishing the work

The agent works the task like any other: it claims, checkpoints, submits and records evidence. When the task is verified the issue becomes `done`. Nothing else closes it. See [Tasks and priority](/task-priority/).

## API

`POST /v1/tenants/{tenantId}/projects/{projectId}/issues/{issueId}/assign` with a `requestId` and an `assignee` of type `human`, `agent` or `bot` (or `null`). Repeating the same `requestId` returns the first answer.

Source: https://docs.overlane.app/issues/assigning/index.mdx
