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

# Start a coding task

> Every way to start a CodeRabbit coding task — from the Coding Agent app, a review finding, a finishing touch, a merge conflict, a security finding, chat, or an approved plan — and where each one is available.

export const OpenBetaBadge = ({tip = "This feature is currently in open beta. We are actively improving it based on your feedback. If you encounter any issues or have suggestions, please share them on our Discord community or visit the support page.", title = "Open Beta", cta = "Contact support", href = "/support", disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="badge-alert" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const BitbucketBadge = ({tip = "This feature is available on Bitbucket.", title = "Bitbucket", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="bitbucket" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const AzureBadge = ({tip = "This feature is available on Azure DevOps.", title = "Azure", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="microsoft" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const GitLabBadge = ({tip = "This feature is available on GitLab.", title = "GitLab", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="gitlab" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

export const GitHubBadge = ({tip = "This feature is available on GitHub and GitHub Enterprise.", title = "GitHub", cta, href, disabled = false}) => {
  return <Tooltip tip={tip} cta={cta} href={href}>
        <Badge icon="github" disabled={disabled || undefined}>
            {title}
        </Badge>
    </Tooltip>;
};

<GitHubBadge /> <GitLabBadge /> <AzureBadge title="Azure DevOps" tip="Azure DevOps supports several, but not all, starting points. See the availability table." /> <BitbucketBadge title="Bitbucket Cloud" tip="Bitbucket Cloud supports several, but not all, starting points. See the availability table." /> | <OpenBetaBadge tip="Coding Agent is in beta." />

## Overview

Every starting point produces the same thing: a [coding task](/code/index#what-a-coding-task-is) bound to a repository and to either a pull request or a branch. What differs is the context the task starts with, which providers offer it, and whether the first turn is free.

Pick the starting point that matches where you already are. If you're looking at a pull request, start from the pull request. If you're starting something new, use the app.

<Info>
  If your repository needs a specific toolchain, private dependencies, or a build step, set up a [coding environment](/code/environments) first. Without one, the sandbox is prepared from what CodeRabbit can detect on its own.
</Info>

## Ways to start a task

### From the Coding Agent app

Go to [app.coderabbit.ai/code](https://app.coderabbit.ai/code) and write a request in the composer. Use it when the work isn't already attached to a pull request or a CodeRabbit finding.

Choose the repository and the branch or pull request the task should work against, then compose the request. The composer accepts:

* **File mentions** — reference specific files so the agent starts with them in context.
* **Attachments** — images, logs, specs, and other supporting files. See [Attachments](#attachments).
* **Voice input** — dictate the request instead of typing it.
* **Slash commands** — see the table below.

| Command    | What it does                                                                                           |
| ---------- | ------------------------------------------------------------------------------------------------------ |
| `/plan`    | Switch the request into plan mode, so the agent writes a reviewable plan before implementing anything. |
| `/private` | Create the task as private, visible only to you.                                                       |
| `/upload`  | Open the attachment picker. Offered where attachment upload is available.                              |

A request is capped at 65,536 characters.

<Frame caption="The composer's slash-command menu, showing /plan, /upload, and /private">
  <img src="https://mintcdn.com/coderabbit/aowZ2ehpT4frOX_J/assets/images/coding-agent-commands.png?fit=max&auto=format&n=aowZ2ehpT4frOX_J&q=85&s=6dce98ee518188c68fd82a91312d9bcf" alt="The composer's slash-command menu, showing /plan, /upload, and /private" width="1466" height="402" data-path="assets/images/coding-agent-commands.png" />
</Frame>

### From CodeRabbit review findings

On a pull request, select the CodeRabbit review findings you want addressed and start one task for all of them. This is [Autofix](/finishing-touches/autofix).

The task is bound to the pull request and works on its branch.

<Frame caption="Requesting Autofix on a CodeRabbit review finding by replying @coderabbitai autofix">
  <img src="https://mintcdn.com/coderabbit/aowZ2ehpT4frOX_J/assets/images/coding-agent-autofix.png?fit=max&auto=format&n=aowZ2ehpT4frOX_J&q=85&s=536c15bca1b248ee5223ae8389a98119" alt="Requesting Autofix on a CodeRabbit review finding by replying @coderabbitai autofix" width="1366" height="610" data-path="assets/images/coding-agent-autofix.png" />
</Frame>

### From a finishing touch

[Finishing Touches](/finishing-touches/index) are one-click actions on a pull request. Each one starts a coding task with a fixed goal:

| Finishing touch                                               | What the task does                                                         |
| ------------------------------------------------------------- | -------------------------------------------------------------------------- |
| [Fix CI failures](/finishing-touches/fix-ci)                  | Repair failing continuous-integration checks.                              |
| [Add docstrings](/finishing-touches/docstrings)               | Add documentation strings to the changed code.                             |
| [Add unit tests](/finishing-touches/unit-test-generation)     | Add unit tests for the change.                                             |
| [Simplify code](/finishing-touches/simplify)                  | Simplify the changed code.                                                 |
| Repair pre-merge checks                                       | Repair failures found by [pre-merge checks](/pr-reviews/pre-merge-checks). |
| [Custom recipes](/finishing-touches/custom-finishing-touches) | Run a recipe your organization defined.                                    |

Which of these are offered on a given pull request depends on your platform, your plan, and your configuration. The CodeRabbit walkthrough comment on the pull request lists the ones actually available for that review — see [Finishing Touches](/finishing-touches/index).

<Frame caption="The Finishing Touches menu, expanding Fix failing CI checks to choose delivery as a stacked PR or a commit on the current branch">
  <img src="https://mintcdn.com/coderabbit/aowZ2ehpT4frOX_J/assets/images/coding-agent-fintouch.png?fit=max&auto=format&n=aowZ2ehpT4frOX_J&q=85&s=9e0c8dbbca3a8d3e317bcd5ed886014e" alt="The Finishing Touches menu, expanding Fix failing CI checks to choose delivery as a stacked PR or a commit on the current branch" width="798" height="336" data-path="assets/images/coding-agent-fintouch.png" />
</Frame>

### From a merge conflict

A pull request with merge conflicts can hand the reconciliation to a coding task, which works out the resolution against the current state of the target branch and pushes the reconciled branch. See [Resolve merge conflicts](/finishing-touches/resolve-merge-conflict).

Automated conflict handling covers up to 500 conflicted files.

### From a security finding

CodeRabbit Security's **Fix with AI** starts a coding task carrying the finding and its fix instructions. See [CodeRabbit Security](/security/index).

<Warning>
  The IDE extension's identically named **Fix with AI** is a different feature and creates no coding task. See [Names that collide](/code/index#names-that-collide).
</Warning>

### From CodeRabbit's chat

When you ask CodeRabbit's chat for a code change, it can hand the request into a coding task bound to the repository you were discussing. From there the task behaves like any other: watch it, steer it, and choose how its changes land. See [Deliver a task's changes](/code/deliver-changes).

### From Change Stack

[Change Stack](/pr-reviews/change-stack) can start a task from the review panel without leaving the pull request, and it is the one place where you can collect several review findings into a single task before dispatching it. The run it produces is an ordinary coding task.

### From an approved plan

When an implementation plan has been written and approved, you can switch the task to code mode and have Coding Agent implement exactly the approved plan. See [Review a plan](/code/work-with-a-task#review-a-plan).

## Where each starting point is available

Coding Agent's task contract covers GitHub, GitLab, Azure DevOps, and Bitbucket Cloud, but individual starting points are narrower than that. Check the table below rather than reading support off the badges.

| Starting point                       | Provider support                                                    | First turn free |
| ------------------------------------ | ------------------------------------------------------------------- | --------------- |
| Coding Agent app                     | GitHub, GitLab, Azure DevOps, Bitbucket Cloud                       | No              |
| CodeRabbit's chat                    | GitHub, GitLab, Azure DevOps, Bitbucket Cloud                       | No              |
| Fix a security finding               | GitHub, GitLab, Azure DevOps, Bitbucket Cloud                       | Yes             |
| Implement an approved plan           | GitHub, GitLab, Azure DevOps, Bitbucket Cloud                       | No              |
| CodeRabbit review findings (Autofix) | GitHub, GitLab                                                      | Yes             |
| Change Stack                         | GitHub, GitLab                                                      | No              |
| Resolve merge conflicts              | GitHub Cloud                                                        | Yes             |
| Finishing touches                    | Varies by touch — see [Finishing Touches](/finishing-touches/index) | Yes             |

Each finishing touch states its own platform and plan support on its own page.

Two things this table does not tell you. Provider support is not the same as being switched on: a row saying GitHub means the starting point works on GitHub, not that your organization has it enabled yet. And these rows describe CodeRabbit's cloud service — support on self-hosted Git providers and self-hosted CodeRabbit deployments varies and isn't covered here, so [contact support](/support) before planning around it.

## Attachments

A request can carry supporting files. Attachments are bounded:

* At most **10 attachments per message**.
* At most **5,242,880 bytes** (5 MiB) per attachment.
* Stored attachments are retained for **30 days**.

Accepted content types:

| Kind            | Types                          |
| --------------- | ------------------------------ |
| Images          | PNG, JPEG, GIF, WebP           |
| Documents       | PDF, Markdown, plain text, CSV |
| Structured data | JSON, YAML, XML                |
| Source text     | JavaScript, TypeScript         |

## What does not start a coding task

These look like they should, and don't:

* **The IDE extension's Fix with AI.** It routes the fix to your own local agent or your clipboard.
* **Slack and Discord.** [CodeRabbit Agent](/agent/index) is a separate product; no Slack or Discord action creates a coding task.
* **An issue-tracker ticket, directly.** Work that starts life as a Jira or Linear issue reaches Coding Agent through [Issue Planner](/issues/planner/index) and the approved-plan path, not from a button on the ticket.
* **A file in your repository.** Coding Agent takes its standing setup from a [coding environment](/code/environments), not from an instructions file committed to the repository.

## When task creation fails

Creating a task runs several checks first — authorization, billing, repository access, and dispatch. Any of them can fail *before* a durable task exists, which means there is no task page to open and nothing to retry from.

If that happens, retry from wherever you started: the composer, the pull request, or the finding. Nothing was left half-created.

## What's next

<CardGroup cols={1}>
  <Card title="Work with a running task" href="/code/work-with-a-task" icon="activity" horizontal>
    Follow the work, steer it, answer its questions, and review its plan or patch.
  </Card>

  <Card title="Deliver a task's changes" href="/code/deliver-changes" icon="git-pull-request" horizontal>
    Choose how changes land, and understand who pushes them.
  </Card>

  <Card title="Coding environments" href="/code/environments" icon="container" horizontal>
    Give your repositories a reusable sandbox with the right toolchains, packages, and setup.
  </Card>
</CardGroup>
