claude-code - 💡(How to fix) Fix [BUG] Bare `claude` invocation opens agent view instead of interactive session, contradicting documented default

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

claude --help states:

Claude Code - starts an interactive session by default, use -p/--print for non-interactive output

In v2.1.150, bare claude (no arguments, no positional prompt, zero background sessions present) does not start an interactive session. It opens agent view in onboarding mode, presenting "Type a task below to start a background session" as the landing UI.

This contradicts the documented default and silently flips the execution model from synchronous-by-default to async-by-default for any user who relies on bare claude as their entry point.

Error Message

Error Messages/Logs

Root Cause

claude --help states:

Claude Code - starts an interactive session by default, use -p/--print for non-interactive output

In v2.1.150, bare claude (no arguments, no positional prompt, zero background sessions present) does not start an interactive session. It opens agent view in onboarding mode, presenting "Type a task below to start a background session" as the landing UI.

This contradicts the documented default and silently flips the execution model from synchronous-by-default to async-by-default for any user who relies on bare claude as their entry point.

Fix Action

Fix / Workaround

Workaround for others hitting this

Workaround for others hitting this

Workaround for others hitting this

Code Example

# Verify clean state
ls ~/.claude/jobs/   # empty
pkill -f "claude.*supervisor"
pkill -f "claude.*daemon"

# Bare invocation
cd ~/any-project
claude

---

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}

---



---

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}

---

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary

claude --help states:

Claude Code - starts an interactive session by default, use -p/--print for non-interactive output

In v2.1.150, bare claude (no arguments, no positional prompt, zero background sessions present) does not start an interactive session. It opens agent view in onboarding mode, presenting "Type a task below to start a background session" as the landing UI.

This contradicts the documented default and silently flips the execution model from synchronous-by-default to async-by-default for any user who relies on bare claude as their entry point.

Reproduction

# Verify clean state
ls ~/.claude/jobs/   # empty
pkill -f "claude.*supervisor"
pkill -f "claude.*daemon"

# Bare invocation
cd ~/any-project
claude

Expected: Interactive Claude Code session prompt. Actual: Agent view dashboard with "0 awaiting input · 0 working · 0 completed" and prompt placeholder "start a task in the background."

Passing any positional argument (claude "hello") or claude --continue correctly opens an interactive session, confirming this is specific to the zero-argument launch path.

Environment

  • Claude Code v2.1.150
  • macOS (Apple Silicon M1)
  • zsh
  • Max plan
  • Launched from VS Code / Cursor integrated terminal and standalone Terminal.app — same behavior

Why this matters (beyond the doc mismatch)

Shell wrappers, governance hooks, and CI integrations written against the documented contract (bare claude → interactive) now silently route users into a background-session dashboard. In my case, a worktree-guard function with command claude "$@" as its pass-through carried users straight into agent view with no warning. The pass-through assumed "bare = interactive" per the docs.

The async-by-default shift is a legitimate product direction, but it's a contract change worth shipping deliberately rather than inheriting through the default landing screen. Worth noting: even at the Max tier, individual users have no documented opt-out — disableAgentView is gated behind Team/Enterprise admin settings, meaning a $200/mo Max user has fewer governance levers than a $25/seat Team admin.

Requests

  1. Fix the docs or fix the behavior — either bare claude should open interactive (matching --help), or --help should document agent view as the new launcher.

  2. Expose disableAgentView for individual tiers. Currently only Team/Enterprise admins can set it. Pro/Max users have no documented opt-out for the launcher behavior.

  3. Add a defaultLaunchMode user setting in ~/.claude/settings.json with values interactive | agents, defaulting to interactive to match --help. This gives users a stable, declarative contract instead of a behavior coupled to whether background sessions happen to exist.

Workaround for others hitting this

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}

What Should Happen?

Requests

  1. Fix the docs or fix the behavior — either bare claude should open interactive (matching --help), or --help should document agent view as the new launcher.

  2. Expose disableAgentView for individual tiers. Currently only Team/Enterprise admins can set it. Pro/Max users have no documented opt-out for the launcher behavior.

  3. Add a defaultLaunchMode user setting in ~/.claude/settings.json with values interactive | agents, defaulting to interactive to match --help. This gives users a stable, declarative contract instead of a behavior coupled to whether background sessions happen to exist.

Error Messages/Logs

Steps to Reproduce

Workaround for others hitting this

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.5.0

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Cursor

Additional Information

Workaround for others hitting this

# In ~/.zshrc
claude() {
    if [ $# -eq 0 ]; then
        command claude --continue 2>/dev/null || command claude " "
    else
        command claude "$@"
    fi
}
<img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/be5f9496-0d8c-4d9e-b55b-d82d85920c3b" /> <img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/d555761d-a9e7-4f7c-85a8-b44e03383a81" /> <img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/9f3b567b-50f8-4695-8e10-9ee4d72202d9" /> <img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/8aa89518-3d1e-4ba2-8039-316ad3f4894e" /> <img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/aabf0c16-067e-469a-91f8-2dd7f2256977" /> <img width="1680" height="1020" alt="Image" src="https://github.com/user-attachments/assets/cd145c40-2c68-4358-b865-bb76b6edb8b8" />

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING