Skip to content
Codeskop

Fix with AI

From any issue, your AI engine reads the code behind the stack trace and proposes a fix. You review the changes, ask for revisions, and only when you approve does Codeskop create a branch and open a draft pull request.

AI can make mistakes

Proposed changes can be incomplete or wrong. Read the diff, test the branch, and review the pull request before merging. Codeskop never writes to your repository without your approval, and never merges anything.

Requirements

  • The Growth or Scale plan.
  • An owner or admin, or a member with the Engineering lens.
  • An AI engine connected under AI Assist (Claude, ChatGPT, Gemini, Grok, DeepSeek or OpenRouter). Fix with AI uses your own key, so your AI provider bills the usage.
  • The project's app linked to its repository on the Releases page (GitHub, GitLab or Bitbucket), with write access (below).

Write access for each host

  • GitHub App: the Codeskop app needs Contents and Pull requests set to Read and write. If your installation was created with read-only access, GitHub asks an organization owner to approve the new permissions once.
  • GitHub token: a fine-grained token with Contents and Pull requests: read and write on the repository.
  • GitLab: a token with the api scope (read-only read_api isn't enough to push a branch).
  • Bitbucket: an API token with write:repository:bitbucket and write:pullrequest:bitbucket, as well as the read scopes.
  1. Start from the issue

    Open the issue and press Fix with AI. Choose your AI engine and model, the repository, the base branch to start from and a new branch name (Codeskop suggests codeskop/fix-…). Confirm you'll review the changes, and press Prepare a fix.

    Codeskop finds the files behind the stack trace's frames in your own code. If the fix needs other files, add up to five paths before you start.

  2. Review the proposal

    Usually ready in under two minutes; you can close the panel and come back.

    You see the AI's explanation of the root cause and a diff for every changed file. Nothing has been written to the repository yet.

  3. Ask for changes (optional)

    Not quite right? Describe what to change (for example “also handle an empty cart, and keep the public API the same”) and press Revise the fix. Repeat as often as you need.

  4. Approve: branch and draft pull request

    Confirm you've reviewed the changes and press Create branch & draft PR. Codeskop creates the branch from the base, commits the changes in one commit, and opens a draft pull request (a draft merge request on GitLab) that links back to the issue and repeats the AI warning.

  5. Review and merge as usual

    Your normal process takes over: CI runs on the branch, teammates review the pull request, and you mark it ready and merge when you're satisfied.

What the AI sees

  • The issue: exception, message, stack trace, users affected and, for API failures, the request.
  • What the user did first: the screens, events and API calls before the latest occurrence.
  • The contents of up to six files from the base branch: the ones the stack trace points at, plus any you add. Nothing else from your repository is sent.

Your AI provider's terms apply

Code and issue details are sent to the AI engine you chose, under your agreement with that provider. If your code mustn't leave your organization, don't use Fix with AI on that repository.

Safety by design

  • Nothing is pushed until you approve, and it always goes to a new branch, never to the base branch.
  • Pull requests open as drafts, so they can't be merged by accident.
  • If the base branch changed after the AI read it, Codeskop refuses to commit and asks you to prepare the fix again, so it never overwrites newer work.
  • Only the person who started a fix can revise or approve it. Teammates can see it on the issue.
  • Every start and commit is recorded in the audit log.

Troubleshooting

  • “Couldn't find the stack trace's files”: the frames don't match paths in that branch (for example, minified web code). Add the file paths yourself and start again.
  • “can't write to this repository”: the connection is read-only. Give it write access as described above.
  • “A branch named … already exists”: choose another branch name.
  • The AI returned no usable proposal: try again, or a more capable model.

Next steps