Skip to content

[Bug]: Secret decryption fails with correct passphrase #40#41

Open
pandey03muskan wants to merge 1 commit intoinitializ:mainfrom
pandey03muskan:main
Open

[Bug]: Secret decryption fails with correct passphrase #40#41
pandey03muskan wants to merge 1 commit intoinitializ:mainfrom
pandey03muskan:main

Conversation

@pandey03muskan
Copy link
Copy Markdown

@pandey03muskan pandey03muskan commented Apr 2, 2026

Type of Change

  • Bug fix

Description

forge secret set/get/list/delete commands were failing with decryption failed (wrong passphrase?) when run from inside a project directory, even with the correct passphrase.

Root cause: parseSecretsPath() in forge-cli/cmd/secret.go scanned forge.yaml line-by-line for any path: key. Every standard forge.yaml has skills: path: SKILL.md — after strings.TrimSpace, that line matched first, so the CLI was trying to AES-256-GCM decrypt SKILL.md as if it were an encrypted secrets file.

forge run was unaffected because Runner.buildSecretProvider() hardcodes the secrets file paths and never calls parseSecretsPath.

Fix:

parseSecretsPath now tracks the secrets: top-level YAML block and only matches path: keys within that block
Extracted resolveSecretsPath() as a single shared function so the displayed path and the actual provider path are always consistent

General Checklist

  • Tests pass for affected modules (go test ./...)
  • Code is formatted (gofmt -w)
  • Linter passes (golangci-lint run)
  • go vet reports no issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant