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

# Changelog

> Stay up to date with product changes and improvements to Charlie.

<Update
  label="July 31, 2026"
  rss={{
title: "Daemon-powered PR reviews",
description: "Daemon-powered PR reviews are now generally available.",
}}
>
  ## Daemon-powered PR reviews

  [Daemon-powered PR reviews](https://docs.charlielabs.ai/pr-reviews) are now generally available. They replace Charlie’s previous automatic reviewer with a PR-review [daemon](https://docs.charlielabs.ai/daemons) that each team defines and [configures](https://docs.charlielabs.ai/pr-reviews/configure) in its repository. Teams control when the daemon runs, which perspectives matter, the evidence bar for feedback, how rereviews handle earlier findings, and how the final review is presented. Its configuration uses ordinary Markdown under `.agents/daemons/pr-review/`: `DAEMON.md` sets review-wide policy, while focused lane files define the questions Charlie should investigate.

  When the daemon wakes for a pull request, Charlie gathers the current diff, checks, discussion, prior feedback, and relevant repository context. He selects the lanes that apply, runs them independently in parallel, verifies their evidence, reconciles overlapping or previously reported findings, and publishes one coherent GitHub review. Lane results do not appear as separate bot reports, so authors do not have to combine repeated or conflicting findings themselves.

  Teams can start from the [reference PR-review daemon](https://github.com/charlie-labs/daemons/blob/master/daemons/pr-review/DAEMON.md?plain=1) and install or migrate it per repository through the [Dashboard](https://dash.charlielabs.ai/), by asking Charlie, or with the CLI. Installation opens a normal pull request. Once the daemon configuration reaches the default branch, the team can evolve review cadence, lanes, evidence rules, and presentation through the same review process used for code.

  **Learn more:** [Your repo sets the rules. Charlie runs the review.](https://charlielabs.ai/blog/your-repo-sets-the-rules-charlie-runs-the-review/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Charlie-specific repository instructions**: Teams can add [instructions specifically for Charlie](https://docs.charlielabs.ai/AGENTS.md-instructions#charlie-specific-instruction-loading) in `CHARLIE.md` or under `.agents/`, and Charlie prioritizes them when selecting repository context.
      * <Badge color="orange">Bug</Badge> **Add another GitHub organization**: Existing customers can use **Add new org** to start another GitHub App installation instead of being returned to their current organization.
    </div>
  </Accordion>
</Update>

<Update
  label="July 14, 2026"
  rss={{
title: "Charlie Credits and usage limits",
description: "Charlie Credits are now the shared workspace usage unit for direct agent work and daemons.",
}}
>
  ## Charlie Credits and usage limits

  Charlie Credits are now the shared workspace usage unit for direct agent work and daemons. Every plan includes daily and weekly Credits that reset on separate UTC schedules. Teams can review current usage, included limits, and billing in [the Dashboard](https://dash.charlielabs.ai/).

  When a workspace reaches either included limit, Charlie stops accepting new tasks until the limit resets unless [prepaid overage Credits have been purchased](https://charlielabs.ai/pricing/).

  **Learn more:** [Charlie Credits limits](https://charlielabs.ai/blog/charlie-credits-limits/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **GitHub App installation cancellation**: Teams that cancel a GitHub App installation now see clear options to retry or return to onboarding without starting installation completion.
    </div>
  </Accordion>
</Update>

<Update
  label="July 9, 2026"
  rss={{
title: "GPT-5.6-powered Charlie",
description: "Charlie is now powered by OpenAI's GPT-5.6.",
}}
>
  ## GPT-5.6-powered Charlie

  Charlie is now powered by OpenAI's GPT-5.6. We use the model where ambiguous engineering work requires judgment: deciding what to investigate, separating confirmed evidence from open questions, and choosing whether to make a narrow fix or leave a precise next step. This is especially useful for stuck pull requests, production alerts, and bug reports where the right action depends on more than the first signal.

  Charlie uses the GPT-5.6 Sol, Terra, and Luna models together. Sol plans, delegates, and synthesizes. Terra and Luna handle focused exploration, implementation, review, and follow-up work. Workers can also delegate child tasks, creating durable task trees that preserve parentage, avoid duplicate child work on retry, and let several independent investigations move at once before their findings return to the root task.

  GPT-5.6 also increases Charlie’s use of parallel tool calls when the work is independent. In the updated harness, turns with two, three, and four tool calls rose from 0.5%, 0.3%, and 0.06% to 3.0%, 4.2%, and 2.6%, respectively, so he can fan out investigation before bringing the evidence back together.

  **Learn more:** [A smarter Charlie, powered by GPT-5.6](https://charlielabs.ai/blog/a-smarter-charlie-powered-by-gpt-5-6/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Completed tool results are preserved**: Charlie saves completed tool results independently and can persist larger task transcripts without failing the run.
      * <Badge color="orange">Bug</Badge> **Automatic pull request reviews restored**: Pull requests opened or marked ready for review once again reach Charlie’s automatic review path when no daemon takes ownership.
      * <Badge color="orange">Bug</Badge> **Linear connections stay connected**: A completed Linear connection remains successful even if the subsequent team sync fails.
    </div>
  </Accordion>
</Update>

<Update
  label="June 17, 2026"
  rss={{
title: "Customer dashboard for setup and activity",
description: "The new customer dashboard brings Charlie setup and recent activity into one place.",
}}
>
  ## New customer dashboard

  The new [customer dashboard](https://dash.charlielabs.ai/) brings Charlie setup and recent activity into one place. Teams can install the GitHub App, manage repositories, and connect Slack, Linear, and Sentry. Repository pages keep integration defaults, secrets, and daemon setup together; adding a daemon opens a normal installation pull request.

  The Activity page provides a shared view of recent agent and daemon work. Each row shows where the work started, the relevant repository and daemon, the status and duration of the work, and the resulting outcome, with links back to the originating work when available. Teams can change the date range, filter by daemon, and search recent activity without reconstructing Charlie's work across several systems.

  **Learn more:** [Open the Charlie Dashboard](https://dash.charlielabs.ai/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Repository capitalization differences**: Charlie recognizes GitHub repository names regardless of capitalization, so case-only differences do not hide daemon configuration.
      * <Badge color="orange">Bug</Badge> **Existing daemon setup recovery**: Charlie finds an existing daemon installation pull request after a reload instead of offering to create a duplicate.
      * <Badge color="green">Improvement</Badge> **Clearer daemon installation pull requests**: Installation pull requests now explain the daemon’s role, activation conditions, required integrations, and when the daemon becomes active.
      * <Badge color="orange">Bug</Badge> **Empty-repository setup guidance**: Charlie explains that a repository needs an initial commit before he can open a daemon installation pull request.
      * <Badge color="orange">Bug</Badge> **Custom daemon setup values**: Teams can enter their own Slack channels and other open-ended values when adapting a daemon example.
    </div>
  </Accordion>
</Update>

<Update
  label="May 28, 2026"
  rss={{
title: "Daemons respond to Slack and Linear events",
description: "Daemons can now respond to supported activity in Slack and Linear, in addition to GitHub events and schedules.",
}}
>
  ## Daemons respond to Slack and Linear events

  Daemons can now respond to supported activity in Slack and Linear, in addition to GitHub events and schedules. Linear issue and comment activity, along with Slack mentions, thread replies, channel messages, and direct messages, can wake a recurring role when the event matches the daemon's instructions. Work can begin where the team is already discussing it without someone copying the same context into GitHub or prompting Charlie again.

  Examples of roles built on these event sources include:

  * [Linear bug context researcher](https://github.com/charlie-labs/daemons/blob/master/daemons/linear-bug-context-researcher/DAEMON.md?plain=1), which adds repository and GitHub context to likely bug reports in Linear.
  * [Slack alert context researcher](https://github.com/charlie-labs/daemons/blob/master/daemons/slack-alert-context-researcher/DAEMON.md?plain=1), which adds recent code and incident context to monitoring alert threads.
  * [Slack meeting follow-up planner](https://github.com/charlie-labs/daemons/blob/master/daemons/slack-meeting-followup-planner/DAEMON.md?plain=1), which turns meeting notes and transcripts shared in Slack into repository-aware next-step options.

  Teams connect the relevant integration, map the Slack workspace or Linear team to the intended repository, and describe the role's [watch conditions](https://docs.charlielabs.ai/daemons/writing-and-editing-daemon-md#how-to-write-strong-frontmatter) in `DAEMON.md`. Charlie uses the incoming event, repository context, and daemon instructions to decide whether the role applies. The configuration stays visible to the whole team in the repository even when the event begins elsewhere.

  **Learn more:** [Daemons](https://docs.charlielabs.ai/daemons)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Safer starter daemon setup**: Starter daemons requiring repository-specific changes now open as draft pull requests with an adaptation checklist.
      * <Badge color="orange">Bug</Badge> **Daemon setup recovery**: Teams can continue when the first installed repository appears, and a temporary catalog error no longer clears examples that already loaded.
      * <Badge color="orange">Bug</Badge> **Schedule-only daemons stay on schedule**: Daemons without watch conditions no longer wake in response to Slack, Linear, or GitHub events.
      * <Badge color="orange">Bug</Badge> **Fewer duplicate Slack replies**: Charlie coalesces duplicate Slack message and mention deliveries before they can start parallel tasks.
    </div>
  </Accordion>
</Update>

<Update
  label="May 13, 2026"
  rss={{
title: "Open source daemon examples",
description: "We published an open source repository of daemon examples that teams can use to get started.",
}}
>
  ## Open source daemon examples

  We published an [open source repository of daemon examples](https://github.com/charlie-labs/daemons) that teams can use to get started. Each one is a concrete starting point for a recurring engineering responsibility instead of an empty `DAEMON.md` file.

  The initial examples include:

  * [Grouped JavaScript and TypeScript dependency updates](https://github.com/charlie-labs/daemons/blob/master/daemons/js-ts-dependency-upgrades/DAEMON.md?plain=1) that open focused upgrade pull requests.
  * [Documentation freshness](https://github.com/charlie-labs/daemons/blob/master/daemons/docs-drift-maintainer/DAEMON.md?plain=1) checks that find code-and-docs drift.
  * [GitHub activity digests](https://github.com/charlie-labs/daemons/blob/master/daemons/github-activity-digest/DAEMON.md?plain=1) that post a low-noise summary to Slack.
  * [Linear issue-label hygiene](https://github.com/charlie-labs/daemons/blob/master/daemons/linear-issue-labeler/DAEMON.md?plain=1) that applies the team's documented taxonomy.
  * [Pull-request metadata](https://github.com/charlie-labs/daemons/blob/master/daemons/pr-metadata/DAEMON.md?plain=1) that keeps titles, descriptions, and issue links current.
  * [Pull-request review triage](https://github.com/charlie-labs/daemons/blob/master/daemons/pr-review-triage/DAEMON.md?plain=1) that groups review feedback, identifies duplicates, and tracks what still needs attention.

  Every example includes its daemon definition and any supporting scripts or reference files. Teams can inspect how the role, activation conditions, routines, and team rules fit together, then copy the nearest pattern and adapt its repository-specific commands, schedule, and checks. The Dashboard uses the same catalog during daemon setup, so these examples are available there as well as on GitHub.

  The repository also includes the `daemon` CLI: `daemon list` and `daemon show` browse the catalog, `daemon add` scaffolds an example into `.agents/daemons/<id>/`, and `daemon validate` checks the resulting files before they are merged.

  **Learn more:** [Charlie daemon examples](https://github.com/charlie-labs/daemons)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Interrupted delegated work resumes**: Charlie resumes interrupted delegation without waiting for a false timeout or creating the same child task twice.
      * <Badge color="orange">Bug</Badge> **Duplicate daemon matches**: Evaluating the same daemon twice no longer cancels the entire activation decision.
    </div>
  </Accordion>
</Update>

<Update
  label="April 21, 2026"
  rss={{
title: "Daemons for recurring engineering work",
description: "Daemons let teams assign Charlie a specific recurring engineering role, then have him return to similar work when a relevant event occurs or a schedule runs.",
}}
>
  ## Daemons for recurring engineering work

  [Daemons](https://docs.charlielabs.ai/daemons) let teams assign Charlie a specific recurring engineering role, then have him return to similar work when a relevant event occurs or a schedule runs. Daemons can respond to supported GitHub activity and schedules.

  Initial use cases include:

  * Repair failing checks or clear merge conflicts so a pull request can move forward.
  * Keep pull-request titles, descriptions, and issue links accurate as the code changes.
  * Triage review feedback by identifying duplicates and resolving threads after the underlying issue is fixed.
  * Check for documentation drift on a schedule and open a focused update when the code and docs disagree.

  Teams can add a daemon through [the Dashboard](https://dash.charlielabs.ai/), by asking Charlie, or by creating the files manually. Whichever method they use, the daemon becomes available when its files are under `.agents/daemons/<daemon-id>/` on the repository's default branch. `DAEMON.md` describes the role's purpose, what it watches, the routines Charlie should perform, and actions he must avoid; supporting scripts and reference files can live beside it. Because the configuration lives with the code, the whole team can inspect, discuss, and change Charlie's behavior through normal code review.

  Daemon roles are designed for recurring work that requires judgment, repository context, and follow-through. Charlie can decide whether an event needs action, carry out the role when it does, and leave a reviewable result in GitHub. This makes recurring ownership explicit without depending on one person to notice the same problem and prompt Charlie each time.

  **Learn more:** [Introducing Daemons](https://charlielabs.ai/blog/introducing-daemons/)
</Update>

<Update
  label="April 16, 2026"
  rss={{
title: "Charlie V2 launch",
description: "Charlie V2 is now available for longer-running, multi-step engineering work.",
}}
>
  ## Charlie V2 launch

  [Charlie V2](https://charlielabs.ai/blog/charlie-v2-introducing-the-coding-agent-operating-system-caos/) is now available for longer-running, multi-step engineering work. A team can start a task in GitHub, Linear, or Slack, then add requirements, ask for an update, redirect Charlie, or stop the task while he is working. One assignment can move through research, planning, implementation, checks, self-review, and feedback without turning each step into a separate run.

  V2 keeps the task and its working context in the cloud, making Charlie a better fit for jobs that can run outside someone's active attention. He can divide larger assignments into focused child tasks, run independent work in parallel, and bring the findings back into one result. Updates and completion messages return to the originating thread or issue, so the team can follow the handoff without keeping a separate agent window open.

  The release also includes:

  * Multi-repository support for changes that span more than one codebase.
  * Repository-owned instructions from files such as `AGENTS.md` and `CLAUDE.md`, plus Agent Skills for reusable procedures.
  * Task history and related thread context Charlie can inspect when earlier work matters.

  **Learn more:** [How Charlie Works](https://charlielabs.ai/how-charlie-works/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Fresher repository context**: Charlie refreshes his cloud repository context after relevant GitHub changes, reducing work based on stale code or dependencies.
      * <Badge color="orange">Bug</Badge> **Fewer unwanted GitHub activations**: Routine pull-request updates and Charlie’s own progress comments no longer start new Charlie work by themselves.
      * <Badge color="orange">Bug</Badge> **Task follow-up delivery**: Follow-up instructions retry after temporary delivery failures and remain attached to the active task.
    </div>
  </Accordion>
</Update>

<Update
  label="March 31, 2026"
  rss={{
title: "AI Daemons concept and specification",
description: "We published version 0.1 of the AI Daemons specification, an open format for persistent AI roles.",
}}
>
  ## AI Daemons concept and specification

  We published version 0.1 of the [AI Daemons specification](https://ai-daemons.com/), an open format for persistent AI roles. A daemon owns an ongoing responsibility instead of a single task: it can wake when a relevant event occurs or on a schedule, perform a finite set of routines, and return the next time that responsibility needs attention. The aim is predictable repeated behavior that a whole team can understand.

  A daemon lives at `.agents/daemons/<name>/DAEMON.md`. YAML frontmatter sets its `name`, `purpose`, and `routines`; `watch` or `schedule` controls activation, and `deny` describes actions the role should not take. The Markdown body can hold policy, scope, limits, escalation rules, examples, and the expected output. Because the definition lives with the code, teams can review and change it together. Optional scripts and reference files can travel with the role.

  The specification includes complete examples and a provider guide covering discovery, activation, execution, and output delivery. This release publishes the concept and authoring format; Charlie-hosted daemon execution will have its own product launch.

  **Learn more:** [AI Daemons specification](https://ai-daemons.com/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Resumable onboarding**: Setup progress remains accurate across page reloads, sign-in redirects, and later sessions.
      * <Badge color="orange">Bug</Badge> **Recoverable Sentry setup**: Authentication, permission, and already-connected errors now give teams a path to continue without restarting onboarding.
      * <Badge color="orange">Bug</Badge> **Linear completion replies**: Charlie posts completion updates for threaded Linear requests instead of losing the response when a mention comes from a nested reply.
      * <Badge color="orange">Bug</Badge> **GitHub onboarding route errors**: The Dashboard no longer blocks GitHub sign-in or the invitation step with client-side route failures.
    </div>
  </Accordion>
</Update>

<Update
  label="January 15, 2026"
  rss={{
title: "Browser support for Playwright tests",
description: "Charlie can now use a real browser in his cloud development environment through Playwright.",
}}
>
  ## Browser support for Playwright tests

  Charlie can now use a real browser in his cloud development environment through Playwright. Repositories with browser tests can ask him to run their end-to-end suite, investigate failures, and capture screenshots when visual evidence matters.

  This extends verification beyond static checks and unit tests. For front-end changes, Charlie can start the application, exercise the relevant flow, inspect what rendered, and include the result with the pull request.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Clearer GitHub setup**: The Dashboard guides teams through inviting `@CharlieHelps` and shows which repositories still need access.
      * <Badge color="green">Improvement</Badge> **Actionable integration errors**: GitHub SSO and Sentry credential errors now explain the permission or token change needed to continue.
      * <Badge color="orange">Bug</Badge> **GitHub login recovery**: [The Dashboard](https://dash.charlielabs.ai/) keeps OAuth callbacks on HTTPS and restarts login when a stale session causes a state mismatch.
      * <Badge color="orange">Bug</Badge> **Slack mention recovery**: When Charlie is invited after being mentioned in a channel, he finds the recent request and replies in its thread.
      * <Badge color="orange">Bug</Badge> **Fewer duplicate Linear tasks**: Assigning a human to an issue Charlie is already handling as a delegate no longer starts the same work again.
      * <Badge color="orange">Bug</Badge> **Correctly placed review feedback**: Charlie moves findings outside the changed lines into the review summary instead of attaching them to unrelated code.
    </div>
  </Accordion>
</Update>

<Update
  label="October 6, 2025"
  rss={{
title: "Proactive behaviors",
description: "The Proactive behaviors lets Charlie run selected maintenance playbooks once a day without a fresh prompt.",
}}
>
  ## Proactive behaviors

  The Proactive behaviors lets Charlie run selected maintenance playbooks once a day without a fresh prompt. A playbook can inspect the repository and open a GitHub pull request or Linear issue when it finds work worth doing.

  Teams opt in per repository through `beta.proactive` in `.charlie/config.yml`. Initial playbooks cover small, reviewable jobs such as documentation upkeep, dependency maintenance, dead-code cleanup, and Sentry follow-up. Start with one, review what Charlie produces, and add more when the results are useful.

  Watch this [OpenAI DevDay demo](https://youtu.be/-l0OqapibAA?si=WLANtGc5QAy5yj2j\&t=1030) to see proactive behaviors in action.

  <iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/-l0OqapibAA?start=1030" title="OpenAI DevDay demo" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
</Update>

<Update
  label="September 30, 2025"
  rss={{
title: "Multi-pass PR reviews",
description: "Charlie’s pull-request reviews now run two independent passes in parallel.",
}}
>
  ## Multi-pass PR reviews

  Charlie’s pull-request reviews now run two independent passes in parallel. Each pass examines the same diff, pull-request context, and repository instructions, reducing the chance that an issue missed when introduced is discovered only in a later review.

  Charlie combines the results before posting. Identical and semantically overlapping comments are removed, and the remaining findings appear in one GitHub review. Teams get broader review coverage without having to sort through duplicate feedback from separate runs.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **More focused review comments**: Charlie filters findings classified as incorrect or low-signal before posting the review.
      * <Badge color="orange">Bug</Badge> **Fewer repeated review comments**: Charlie suppresses inline feedback that repeats his earlier comments on the same pull request.
    </div>
  </Accordion>
</Update>

<Update
  label="September 29, 2025"
  rss={{
title: "Images and screenshots",
description: "Charlie can now use images shared in Slack, Linear, and GitHub as context for engineering work.",
}}
>
  ## Images and screenshots

  Charlie can now use images shared in Slack, Linear, and GitHub as context for engineering work. Teams can attach screenshots of UI bugs, designs, error states, or product feedback instead of translating every visual detail into text.

  Charlie can reference what he sees alongside repository code and documentation when he explains a problem, proposes a plan, or prepares a change.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Complete GitHub image context**: Charlie uses images from issue and pull-request bodies, earlier comments, and review threads even when a later comment triggers his work.
    </div>
  </Accordion>
</Update>

<Update
  label="September 2, 2025"
  rss={{
title: "Try Charlie free — 10,000 credits",
description: "New teams can now try Charlie with 10,000 free credits and no credit card.",
}}
>
  ## Try Charlie free — 10,000 credits

  New teams can now try Charlie with 10,000 free credits and no credit card. The trial lets a team connect its own repository and evaluate Charlie on real reviews, fixes, and implementation work before choosing a paid plan.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Linear status control**: Teams can configure Charlie to leave issue statuses unchanged during triage, keeping human follow-up work visible.
    </div>
  </Accordion>
</Update>

<Update
  label="August 25, 2025"
  rss={{
title: "SOC 2 Type II",
description: "Charlie Labs has received its SOC 2 Type II attestation, providing independent evidence that our security controls operated effectively over the review period.",
}}
>
  ## SOC 2 Type II

  Charlie Labs has received its SOC 2 Type II attestation, providing independent evidence that our security controls operated effectively over the review period.

  Customers and prospects can review the report, policies, and current security information through our Trust Center.

  **Learn more:** [Charlie Labs Trust Center](https://trust.charlielabs.ai/)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Cleaner code comments**: Charlie keeps transient decision notes and change narration out of source code, leaving that context in pull-request descriptions and reviews.
      * <Badge color="orange">Bug</Badge> **Slack request routing**: Slack requests mistakenly classified as pull-request reviews now return to the general request path instead of failing for a missing pull-request number.
    </div>
  </Accordion>
</Update>

<Update
  label="August 11, 2025"
  rss={{
title: "GPT-5 upgrade",
description: "Charlie is now powered by OpenAI’s GPT-5 for general engineering work and pull-request review.",
}}
>
  ## GPT-5 upgrade

  Charlie is now powered by OpenAI’s GPT-5 for general engineering work and pull-request review. The upgrade gives him stronger reasoning across larger TypeScript changes, better use of repository context, and a clearer view of how a local edit affects the rest of the codebase.

  Nothing changes about how teams work with Charlie. Requests still begin in GitHub, Linear, or Slack, and code changes still return as pull requests with the repository’s available checks run.

  **Learn more:** [Charlie’s GPT-5 upgrade](https://charlielabs.ai/blog/charlie-gpt-5-upgrade)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Clearer work-in-progress updates**: Charlie’s progress messages make clear that he is still working and that replies will not redirect the active task.
      * <Badge color="green">Improvement</Badge> **Smoother Slack channel joins**: When Charlie joins a channel, he posts one greeting and replies to the mention that invited him in its original thread.
      * <Badge color="orange">Bug</Badge> **Slack requests with shared files**: Charlie no longer drops the text of a Slack request simply because the message also contains a shared file.
    </div>
  </Accordion>
</Update>

<Update
  label="August 6, 2025"
  rss={{
title: "Open source support for public GitHub repositories",
description: "Charlie can now work in eligible public GitHub repositories.",
}}
>
  ## Open source support for public GitHub repositories

  Charlie can now work in eligible public GitHub repositories. Authorized maintainers can mention him, assign an issue or pull request, or request a review to investigate problems, draft fixes, and answer repository questions.

  The same permission model that protects private repositories applies to public work: Charlie responds to maintainers with write or admin access. Pull requests from forks and requests from external contributors or third-party bots are not part of the supported path.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Onboarding without repositories**: Organizations without GitHub repositories can continue through Linear and Slack setup instead of becoming stuck.
    </div>
  </Accordion>
</Update>

<Update
  label="August 4, 2025"
  rss={{
title: "Charlie is generally available",
description: "Charlie is now generally available.",
}}
>
  ## Charlie is generally available

  Charlie is now generally available. Teams can sign up directly, connect a repository, and work with him through GitHub, Linear, and Slack. He participates in the same issues, threads, and pull requests as the rest of the team instead of requiring a separate primary work surface.

  Charlie can review pull requests, investigate bugs, plan and implement changes, and answer codebase questions. When a task needs more context, he can inspect Sentry and search the web. He works in a cloud development environment, follows repository instructions, runs the repository’s available checks, and returns code changes as pull requests for human review.

  [The Dashboard](https://dash.charlielabs.ai/) handles signup, repository setup, integrations, billing, and usage. Day-to-day collaboration remains in the engineering tools where the request began.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Clearer progress while Charlie works**: Charlie shows completed steps as he works and posts a separate final message when he finishes.
      * <Badge color="orange">Bug</Badge> **Complete context on large pull requests**: Charlie reads paginated commits, comments, reviews, and inline feedback and attaches new reviews to the current head commit.
      * <Badge color="orange">Bug</Badge> **Replies stay in the review thread**: Charlie acknowledges and responds to a single inline review comment in that thread instead of posting a separate top-level comment.
      * <Badge color="orange">Bug</Badge> **GitHub App setup completion**: Repository and membership setup now finishes before onboarding completes, reducing missing organizations and failed first tasks.
    </div>
  </Accordion>
</Update>

<Update
  label="July 25, 2025"
  rss={{
title: "Charlie in Slack DMs and groups",
description: "Charlie can now join Slack direct messages and multi-person DMs, giving teams a one-to-one or small-group place to ask for help, discuss work, and debug a problem.",
}}
>
  ## Charlie in Slack DMs and groups

  Charlie can now join Slack direct messages and multi-person DMs, giving teams a one-to-one or small-group place to ask for help, discuss work, and debug a problem. Channel conversations continue to work as before.

  Share a pull request, Linear issue, or documentation link in the conversation and Charlie can bring that context into his response or the engineering work that follows.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Pull-request review paths**: A leading slash in one inline-comment file path no longer causes GitHub to reject Charlie’s entire review.
    </div>
  </Accordion>
</Update>

<Update
  label="July 16, 2025"
  rss={{
title: "Web Search — real-time context",
description: "Charlie can now search the web while reasoning about a task.",
}}
>
  ## Web Search — real-time context

  Charlie can now search the web while reasoning about a task. When a library, API, or tool has changed recently, he can look up current documentation, release notes, and examples before proposing a plan or writing code.

  Search runs automatically when the task needs external context and requires no workspace setup. This gives Charlie a way to check information that may be newer than his model training data instead of relying on memory alone.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Clearer pricing and self-service billing**: Teams can compare plans and credit costs on the website and open Stripe’s Billing Portal from the Dashboard.
      * <Badge color="orange">Bug</Badge> **Complete GitHub review feedback**: Charlie receives every inline comment from a submitted GitHub review as one set of feedback.
      * <Badge color="orange">Bug</Badge> **Slack-native plan formatting**: Charlie’s plans and progress updates in Slack no longer display raw GitHub-style Markdown.
    </div>
  </Accordion>
</Update>

<Update
  label="June 27, 2025"
  rss={{
title: "Design Partner Program",
description: "We’re opening five places in a six-week Design Partner Program for small TypeScript teams that want to use Charlie on substantial day-to-day engineering work and help shape the product.",
}}
>
  ## Design Partner Program

  We’re opening five places in a six-week Design Partner Program for small TypeScript teams that want to use Charlie on substantial day-to-day engineering work and help shape the product. Partners will review the resulting pull requests and meet with us each week to discuss what worked and what got in the way.

  The program includes free usage, direct access to the Charlie Labs team, and priority for product feedback. It is intended for teams using GitHub and a TypeScript codebase, ideally with Slack, Linear, and Sentry already part of their engineering process.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Repository search**: Teams can search their repository list in the Dashboard instead of scrolling through every connected repository.
      * <Badge color="orange">Bug</Badge> **Preserved command summaries**: Charlie retains the beginning and end of long command output, including test summaries and final error lines.
    </div>
  </Accordion>
</Update>

<Update
  label="June 18, 2025"
  rss={{
title: "Vercel partnership",
description: "Charlie now works with Vercel deployments through Vercel’s GitHub App.",
}}
>
  ## Vercel partnership

  Charlie now works with Vercel deployments through Vercel’s GitHub App. When Charlie pushes a branch or opens a pull request, the repository’s existing Vercel integration can build a preview; merging the pull request can continue through the team’s normal production deployment path.

  Repositories that already use the Vercel GitHub App do not need a separate Charlie connection or another Vercel seat. The preview and deployment status stay attached to the GitHub pull request where the team reviews Charlie’s work.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Higher activity limits**: Charlie can handle larger bursts of GitHub activity in a repository before requests are rate limited.
      * <Badge color="orange">Bug</Badge> **Longer Dashboard sessions**: Teams can stay signed in for seven days instead of repeating GitHub authentication each day.
      * <Badge color="orange">Bug</Badge> **Top-level Slack mention context**: Charlie receives the full channel message when mentioned outside an existing thread.
      * <Badge color="orange">Bug</Badge> **Changed-file loading**: Charlie reads changed files correctly on newer Git versions instead of failing on truncated paths.
      * <Badge color="orange">Bug</Badge> **Repository secret fields**: Repository secret values no longer invite browser autofill or spellcheck.
    </div>
  </Accordion>
</Update>

<Update
  label="June 16, 2025"
  rss={{
title: "Slack integration",
description: "Charlie can now work from Slack channels.",
}}
>
  ## Slack integration

  Charlie can now work from Slack channels. Mention him in a thread to investigate a question, summarize the discussion, create a Linear issue, or turn the conversation into an implementation plan and pull request.

  Charlie can use the thread, linked GitHub work, and connected Sentry context while he works. The resulting Linear issue or GitHub pull request is posted back to Slack, keeping the discussion and engineering work connected.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Fresher task branches**: Charlie updates a branch with no unique commits to the latest default branch before starting work.
      * <Badge color="orange">Bug</Badge> **No false failures on no-change tasks**: Charlie no longer reports an error when a task legitimately finishes without requiring a commit or pull request.
      * <Badge color="green">Improvement</Badge> **Automatic repository refresh**: Repositories added or removed through the GitHub App appear when teams return to the Dashboard.
      * <Badge color="orange">Bug</Badge> **Self-assigned Linear issues**: When Charlie creates a Linear issue and assigns it to himself, he begins the work without waiting for another assignment event.
    </div>
  </Accordion>
</Update>

<Update
  label="June 3, 2025"
  rss={{
title: "Sentry integration",
description: "Charlie can now use Sentry error context when working on bugs.",
}}
>
  ## Sentry integration

  Charlie can now use Sentry error context when working on bugs. From a Sentry-linked Linear issue, he can gather the stack trace, affected files, recent commits, and related pull requests, then use that evidence to propose an implementation plan.

  After the team approves the plan, Charlie can create a branch, implement the fix, and open a GitHub pull request linked back to the Linear and Sentry issues.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="orange">Bug</Badge> **Reviews stay on the requested pull request**: Charlie includes the pull-request number in each review request so missing context cannot send him to an unrelated pull request.
    </div>
  </Accordion>
</Update>

<Update
  label="May 29, 2025"
  rss={{
title: "Charlie joins Linear Agents",
description: "Charlie is now available as a Linear Agent.",
}}
>
  ## Charlie joins Linear Agents

  Charlie is now available as a Linear Agent. Teams can assign him to an issue, mention him in a comment, or add him to a project, giving him a first-class identity where engineering work is planned.

  Charlie can use the issue and its discussion as task context, update the issue as work progresses, and return the resulting GitHub pull request to Linear. His dedicated profile makes his activity visible alongside the rest of the team.

  **Learn more:** [Charlie for Linear](https://linear.app/integrations/charlie)

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Repository-native code changes**: Charlie uses Git for resets, reverts, and merge conflicts and uses the repository’s package manager for dependency changes.
      * <Badge color="green">Improvement</Badge> **TypeScript checks in new devboxes**: Charlie can run TypeScript checks in repositories that do not install `tsc` locally.
      * <Badge color="orange">Bug</Badge> **Non-main default branches**: Charlie starts devboxes from the repository’s configured default branch instead of assuming `main`.
      * <Badge color="orange">Bug</Badge> **Current pull-request diffs**: Charlie refreshes the base branch before reviewing a pull request so already-merged commits do not reappear in the diff.
      * <Badge color="orange">Bug</Badge> **GitHub App repository additions**: Adding repositories to an existing GitHub App installation returns customers to the correct organization without repeating onboarding.
    </div>
  </Accordion>
</Update>

<Update
  label="May 21, 2025"
  rss={{
title: "Charlie Research Preview",
description: "We’re opening the Charlie Research Preview to more teams.",
}}
>
  ## Charlie Research Preview

  We’re opening the Charlie Research Preview to more teams. Preview access is free, and teams can use Charlie on real work in a connected GitHub repository while we learn which forms of delegated engineering work are most useful outside our own team.

  Charlie can review a pull request, explain the problems he finds, apply requested fixes, and turn a well-scoped engineering request into a branch and PR. Setup is handled through the Dashboard, and code changes return to GitHub for review.

  <Accordion title="Additional changes">
    <div className="text-sm leading-6">
      * <Badge color="green">Improvement</Badge> **Clearer GitHub App setup**: The Dashboard waits for the organization to sync, shows progress, and reports a timeout instead of advancing too early.
      * <Badge color="orange">Bug</Badge> **GitHub mention alias**: Charlie responds to `@Charlie` in GitHub comments as well as `@CharlieHelps`.
      * <Badge color="orange">Bug</Badge> **Correct pull-request base branch**: Charlie opens pull requests against the repository’s default branch even when his devbox began on another branch.
    </div>
  </Accordion>
</Update>
