{"record":{"id":"5206a7d58edba2ee","repo":"Hmbown/CodeWhale","slug":"account-settings-import-is-not-available-yet-loca","errorCode":null,"errorMessage":"Account settings import is not available yet; local config was not changed. Run `codewhale account pull --dry-run` to inspect the signed-in account.","messagePattern":"Account settings import is not available yet; local config was not changed\\. Run `codewhale account pull --dry-run` to inspect the signed-in account\\.","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"info","filePath":"crates/cli/src/cloud.rs","lineNumber":686,"sourceCode":"                )?;\n                Ok(())\n            }\n            CloudKeysCommand::Remove { provider } => {\n                let user = client.me()?;\n                client.remove_key(provider)?;\n                writeln!(\n                    out,\n                    \"Removed {} from Codewhale account {} (profile {}).\",\n                    provider.slug(),\n                    printable(&user.id),\n                    printable(profile)\n                )?;\n                Ok(())\n            }\n        },\n        CloudCommand::Pull(args) => {\n            if !args.dry_run {\n                bail!(\n                    \"Account settings import is not available yet; local config was not changed. Run `codewhale account pull --dry-run` to inspect the signed-in account.\"\n                );\n            }\n            let user = client.me()?;\n            // `/api/me` currently exposes account identity and key metadata,\n            // not a versioned settings document that can be applied locally.\n            // Stay read-only and explicit until that import contract exists.\n            writeln!(out, \"Account settings (pull --dry-run):\")?;\n            writeln!(out, \"Account ID: {}\", printable(&user.id))?;\n            writeln!(out, \"Profile: {}\", printable(profile))?;\n            writeln!(out, \"API: {api_base}\")?;\n            writeln!(\n                out,\n                \"dry-run: remote settings import is not available; local config unchanged\"\n            )?;\n            // Show the invariant: Bearer custody stays in the OS keyring, never in config.toml.\n            writeln!(\n                out,","sourceCodeStart":668,"sourceCodeEnd":704,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/cli/src/cloud.rs#L668-L704","documentation":"`codewhale account pull` without --dry-run is intentionally unimplemented: the service's /api/me exposes identity and key metadata, not a versioned settings document that could be applied locally, so the command stays read-only until that import contract exists. The bail guarantees local config is never changed by a half-specified import.","triggerScenarios":"Running `codewhale account pull` (no flags) expecting settings to be applied; running it in scripts that assumed pull applies remote settings.","commonSituations":"Users assuming parity with `push`, automation invoking pull for config sync, onboarding docs that promise account-settings sync before the feature shipped.","solutions":["Run `codewhale account pull --dry-run` to inspect account id, profile, API base, and key metadata.","Apply any wanted settings manually in local config; there is no automated import yet.","Track the feature; once /api/me exposes a versioned settings document, non-dry-run pull will ship.","Remove pull (non-dry-run) from automation scripts."],"exampleFix":"# before\ncodewhale account pull\n\n# after\ncodewhale account pull --dry-run","handlingStrategy":"validation","validationCode":"// In automation, force the safe mode explicitly\nlet args = PullArgs { dry_run: true }; // never construct non-dry-run pull today","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always call `account pull --dry-run` until the import contract ships.","Keep config-sync automation on dry-run; apply changes manually.","Watch release notes for the settings-document API that enables real pull."],"tags":["cloud","not-implemented","cli","config-sync"],"backgroundTag":"feature-not-implemented","analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}