New Rate Limits Require Granular Model Selection for Cost-Effective Usage

Resolved 💬 9 comments Opened Jul 30, 2025 by gwpl Closed Jan 5, 2026

Co-written with Claude Code AI Agent:

TL;DR - We Need Sub-Agent & Task-Level Model Control NOW

24 Opus hours/week ÷ 4 parallel agents = 6 hours of real work. We MUST have:

  • SUB-AGENT LEVEL: "rust-refactoring-agent": "opus", "docs-agent": "sonnet"
  • TASK/ACTIVITY LEVEL: "When coding Rust → Opus, When writing docs → Sonnet"
  • PROMPT LEVEL: [model:opus] for complex one-off tasks (see #4016)
  • FILE PATTERN LEVEL: *.rs → opus, *.md → sonnet
  • QUOTA MANAGEMENT: Better than "switch at 50%" - need reserves for critical tasks

Current state is BROKEN: /model changes ALL sessions globally - even overriding project settings!

Summary

Without granular model control, the new rate limits (starting August 28) make Claude Code unusable for professional development. Project-level settings aren't enough - we need to optimize EVERY sub-agent, EVERY task type, and EVERY prompt to stretch our 24-40 Opus hours across an entire week.

Example: A single "refactor this codebase" command spawning 4 sub-agents burns through daily Opus quota in 90 minutes. We need to configure which sub-agents actually need Opus vs Sonnet.

Problem Statement

  1. Harsh Rate Limits: 24 Opus hours per week means only 6 effective hours when running 4 parallel sub-agents
  2. No Usage Visibility: ccusage command doesn't work for subscription users, leaving us blind to quota consumption
  3. Inefficient Model Deployment: Cannot specify which sub-agents or tasks should use Opus vs Sonnet
  4. Cost Inefficiency: Sonnet failing on complex tasks and requiring multiple retries can be more expensive than using Opus once

Current Limitations

Even basic project-level model selection is broken:

  • While .claude/settings.json theoretically supports project-specific models, the /model command overrides this globally
  • Changing model in one project/session changes it for ALL projects and sessions
  • This makes it impossible to have different model preferences per project
  • Users experience model changes propagating across unrelated work

Missing granular controls we desperately need:

  • No way to specify model per:
  • Sub-agent
  • Task type
  • Programming language
  • Prompt
  • Workflow stage
  • File pattern
  • Complexity level

Proposed Solutions

1. Per-Sub-Agent Model Configuration

TODO

2. Rule-Based Model Selection

TODO

3. Per-Prompt Model Specification (relates to #4016)

[model:opus] Refactor this complex Rust async state machine
[model:sonnet] Explain what this function does

4. Workflow-Aware Model Selection

workflow:
  planning: sonnet
  implementation: opus
  testing: sonnet
  documentation: sonnet

5. Dynamic Model Switching Based on Failure

  • Start with Sonnet
  • Auto-escalate to Opus after N failures
  • Track success rates per task type

6. Smart Quota Management Controls

Current "Default (switch at 50%)" is too crude. We need: Flexible threshold controls, better more fine grained control, etc.

Real-world example: Even writing THIS GitHub issue required switching to Opus! Yet routine tasks like "search for files" or "follow instructions in README","rebase branch" etc, work with Sonnet.

Smart allocation strategies:

  • Reserve Opus quota for complex/creative tasks
  • Force Sonnet for routine operations (file navigation, basic edits)
  • Gradual degradation instead of hard cutoff
  • Time-based quotas (more Opus during critical project phases)

Related Issues

  • #3842 - Model selection persistence issues (our issue extends this to sub-agent granularity)
  • #4016 - Per-prompt model specification (we support and extend this concept)
  • #4442 - Hierarchical configuration system (our proposal fits within this framework)
  • #3123 - /model command corrupting settings (critical bug affecting all model management)

Why This Is Urgent

  1. Timeline Pressure: Rate limits start August 28, 2025 - we need time to:
  • Implement the features for those changes
  • Test new real workflows
  • Update our development practices
  • Train teams on new model selection strategies
  • Refactor existing automations and scripts
  1. Adoption Time Required: Users need weeks to:
  • Understand their actual Opus vs Sonnet needs
  • Configure project-specific rules (once they actually work)
  • Optimize sub-agent workflows
  • Establish best practices for model selection
  • Migrate from current broken global model switching
  1. Parallel Usage Impact: 4 sub-agents = 4x faster quota consumption
  2. No Visibility: Without working ccusage, users will hit limits blindly
  3. Complex Projects: Non-standard architectures REQUIRE Opus, Sonnet fails repeatedly
  4. Economic Reality: Inefficient model allocation wastes both quota and money

Request for Comment

Please share:

  1. Your use cases requiring selective model deployment
  2. Proposed configuration formats
  3. Priority of different granularity levels
  4. Workarounds you're currently using

This is an urgent feature request given the upcoming rate limits. Without granular model control, professional Claude Code usage will become severely limited.

View original on GitHub ↗

This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗