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.
What happened?
When running
geminiwith a clean configuration, the CLI repeatedly outputs:This happens on every startup, even when the CLI has just created its own default
settings.jsoncontaining only a validselectedAuthType. 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
geminito enter the interactive CLI, then run the/aboutcommand.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.