Skip to content

1.0.76-1: silent exit 1 at session startup when log level is none/error/warning/info/debug ("all" and "default" work) #4285

Description

@paulcam206

Describe the bug

On 1.0.76-1, the CLI exits immediately with code 1 and no output at all whenever the effective log level is one of the canonical levels none, error, warning, info, or debug.

Nothing is written to stdout or stderr, no log file is created (even with an explicit --log-dir), and no crash or Windows Error Reporting event is generated. The CLI simply appears not to launch.

The values all and default start normally. all is documented as "Same as debug" — yet all works and debug fails, which suggests the regression is in the direct level-resolution path rather than the alias path. Unrecognized values (bogus, WARNING, "") also start normally, so only the documented, valid levels are affected.

This is reachable two ways:

  • the --log-level <level> flag
  • the logLevel key in settings.json

The second is the damaging one: with logLevel set, every launch fails silently, so the CLI looks permanently broken with zero diagnostics. Because auto-update tracks prereleases for users already on a prerelease build, this can appear with no user action.

1.0.76-0 is unaffected — this is a regression in 1.0.76-1.

Affected version

  • Broken: 1.0.76-1 (prerelease)
  • Working: 1.0.76-0 (prerelease), 1.0.75 (stable)
  • OS: Windows 11 x64 (10.0.26652)
  • Reproduced both with the standalone copilot-win32-x64.zip asset from the v1.0.76-1 release and with the installed CLI after auto-update, so this is not an install-path artifact.

Steps to reproduce the behavior

With a clean COPILOT_HOME, on 1.0.76-1:

$ copilot --log-level info -p "say OK"
# exits 1, no output whatsoever

$ copilot --log-level all -p "say OK"
OK
# exits 0

Or via ~/.copilot/settings.json:

{ "logLevel": "warning" }

…then run copilot — it exits 1 silently on every launch.

Full matrix, same machine and terminal, invoked as -p "say OK":

logLevel 1.0.76-0 1.0.76-1
none not tested exit 1
error exit 0 exit 1
warning exit 0 exit 1
info exit 0 exit 1
debug not tested exit 1
all not tested exit 0
default not tested exit 0
bogus not tested exit 0
WARNING not tested exit 0
"" (empty) not tested exit 0

Expected behavior

--log-level info (and the other documented levels) should start a normal session and log at that level, as in 1.0.76-0.

If a level were genuinely unsupported, the CLI should print an actionable error rather than exiting silently with no output and no log.

Additional context

  • The process dies before logging is initialized: an explicit --log-dir is created but never populated, and stderr is empty.
  • No Application Error or Windows Error Reporting entry is produced, so this is an early exit(1) / swallowed failure rather than a native crash.
  • copilot --version, copilot mcp list, and copilot skill list all still work on 1.0.76-1 — only session startup is affected.
  • NODE_OPTIONS=--trace-uncaught has no effect (stripped in the SEA build), so I could not capture a stack trace.

Workarounds: set logLevel to default, run with --no-auto-update, or copilot update stable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:platform-windowsWindows-specific: PowerShell, cmd, Git Bash, WSL, Windows Terminal

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions