Skip to content

Default profile still works but can't be managed #98

Description

@mp-orkes

Default profile still works but can't be managed.

The CLI used to offer a default profile, saved to ~/.conductor-cli/config.yaml. Today there's no way of saving it, even though it still reads from it.

$ conductor config list
default                                  # it's there

$ conductor config save
Profile name:
Error: profile name is required          # can't save it

$ conductor config save --profile foo
✓ Configuration saved to ~/.conductor-cli/config-foo.yaml   # always prefixed

Editing the file by hand is the only option.

Cause

Commit 87a6d26 ("handle configuration with defaults", 2026-03-08, pushed directly to main) set out to drop the default config file in favour of profiles, env vars and flags. It made config save require a profile name, removed --save-config, and removed viper.SetConfigName("config") from initConfig.

That last part didn't work: viper's default config name is already "config", so ReadInConfig still finds config.yaml. The comment left behind at cmd/root.go:276"When no profile is active, no config file is loaded" — is wrong.

Write path removed, read path not.

Fix

Pick a direction:

A. Restore the write path — let config save accept an empty profile and write config.yaml. Non-breaking, and matches what config list already shows.

B. Finish the removal — stop the default lookup and warn on a stray config.yaml. Cleaner, but silently breaks setups that have worked since March.

CLAUDE.md still documents --save-config either way.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions