Skip to content

Support ultracode effort level and dynamic workflows #725

@hugoncosta

Description

@hugoncosta

Summary

Claude Code v2.1.154+ introduced ultracode — a new effort level that combines xhigh reasoning with automatic workflow orchestration via dynamic workflows. ACP currently supports low, medium, high, max, and Default effort levels but has no mechanism for ultracode or the workflow primitives it depends on.

What's needed

1. New effort level: ultracode

ultracode is distinct from max. It signals xhigh reasoning effort plus enables automatic workflow orchestration. ACP's effort enum/field should accept ultracode as a valid value.

2. Workflow lifecycle events

Dynamic workflows follow a structured lifecycle:

  1. Planning — Claude generates a JavaScript orchestration script
  2. Approval — User sees planned phases and approves/denies/views the script
  3. Fan-out — Up to 16 concurrent subagents (1,000 total per run) execute in parallel
  4. Verification — Results are validated against success criteria
  5. Convergence — Outputs are merged into a coherent deliverable
  6. Iteration — Claude can revise and re-run phases if needed

ACP should expose events or status updates for each phase so consumers can render progress, handle approval, and track subagent work.

3. Approval flow

Before a workflow launches, the user is presented with an approval card showing:

  • Planned phases and their descriptions
  • Option to approve, deny, or view the generated script

ACP needs a mechanism (callback, event, or message type) for the client to present this approval UI and return the user's decision.

4. Background execution model

Workflows run in the background — the session remains responsive for other interactions while the workflow executes. This implies:

  • A way to start a workflow run and receive a run ID
  • Ability to query run status / progress
  • Session multiplexing (user can chat while workflow runs)
  • Progress is saved for resumability

5. Bundled workflow commands

Claude Code ships /deep-research as a built-in workflow. ACP should either:

  • Expose a way to invoke bundled workflows by name, or
  • Document how the /deep-research command maps to ACP primitives

Context

Why this matters for ACP consumers

Any ACP client that wants to leverage Claude's most capable mode (ultracode) currently has no way to:

  • Set the effort level correctly
  • Handle the approval interaction before workflow launch
  • Track parallel subagent execution
  • Display workflow progress to end users
  • Maintain session responsiveness during long-running workflows

Without ACP support, consumers are limited to max effort and miss out on the orchestration capabilities that make ultracode qualitatively different.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions