Skip to content

Startup prints 'Legacy settings file detected' three times with default settings – pollutes oneshot automation output and misdetects valid config #7303

@billniti

Description

@billniti

What happened?

When running gemini with a clean configuration, the CLI repeatedly outputs:

Legacy settings file detected at: ~/.gemini/settings.json
Successfully migrated settings for ~/.gemini/settings.json in-memory for the current session.
Legacy settings file detected at: ~/.gemini/settings.json
Successfully migrated settings for ~/.gemini/settings.json in-memory for the current session.
Legacy settings file detected at: ~/.gemini/settings.json
Successfully migrated settings for ~/.gemini/settings.json in-memory for the current session.

This happens on every startup, even when the CLI has just created its own default settings.json containing only a valid selectedAuthType. There is no legacy content to migrate, yet the CLI misidentifies the file as legacy and "migrates" it in-memory repeatedly without persisting the change.

For one‑shot automation runs (where the CLI is invoked once to perform a task and exit), these repeated warnings clutter the console output and make it harder to parse the actual result. It also erodes confidence that the settings are correct. This is a genuine bug in the settings migration logic, not a misconfiguration.

What did you expect to happen?

I expected the CLI to either not print any legacy/migration warning at all for a fresh, auto‑generated settings file or to print the message once and then persist the migration so it never appears again. A valid configuration (just selectedAuthType) should be recognised as valid, not flagged as legacy. There should not be three lines of warnings on every startup. For one‑shot automation runs, the CLI should be quiet unless there is an actual problem, so the output contains only the task results and not unnecessary noise.

Client information

Client Information

Run gemini to enter the interactive CLI, then run the /about command.

> /about

About Gemini CLI
CLI Version                 0.3.0-preview.1
Git Commit                  5f16541c
Model                       gemini-2.5-pro
Sandbox                     no sandbox
OS                          linux
Auth Method                 OAuth

Login information

Logged in via OAuth using a personal Google account (oauth-personal).

Anything else we need to know?

Even when using the default settings file generated by the CLI (containing only the selected auth type), the startup still prints these warnings. It affects non‑interactive (one‑shot) runs because the repeated warnings pollute the automation console output. The CLI should remain silent when the configuration is valid.

Metadata

Metadata

Assignees

Labels

area/coreIssues related to User Interface, OS Support, Core Functionalitypriority/p1Important and should be addressed in the near term.

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