Skip to content

docs(opencode): external_directory also fires on paths the BRIEF NEVER NAMES - #985

Open
ZacxDev wants to merge 1 commit into
mainfrom
docs/opencode-external-dir-runtime-paths
Open

docs(opencode): external_directory also fires on paths the BRIEF NEVER NAMES#985
ZacxDev wants to merge 1 commit into
mainfrom
docs/opencode-external-dir-runtime-paths

Conversation

@ZacxDev

@ZacxDev ZacxDev commented Aug 28, 2026

Copy link
Copy Markdown
Member

docs(opencode): external_directory also fires on paths the BRIEF NEVER NAMES

Four dispatches died on 2026-08-28 in two shapes that failure mode 1's stated
closures do not cover, because preflight scans the brief's TEXT and both paths
are produced at runtime:

(a) a TOOL's own output path — browser screenshot with no argument writes into
the system temp dir, and reading it back was auto-rejected. Fixed in the
brief by passing an explicit path under --dir, NOT by widening the config: a
screenshot is a pixel-perfect image of an authenticated view, the filename
prefix is fixed and the directory is shared, so an allow would let any
dispatch read captures left by any session.

(b) a SKILL's reference/ files resolved against ~/.claude/skills// rather
than the carved-out ~/.config/opencode/skills/**. Preflight printed
"skill reference/ : readable" — a false all-clear for this shape.

Also records that preflight refuses a brief that merely MENTIONS an external
path in prose: a warning reading "it writes to /tmp" blocks at rc 3.

The headline correction is to "Closed two ways" — a clean preflight is not
evidence a run is safe from an external_directory auto-reject.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

…R NAMES

Four dispatches died on 2026-08-28 in two shapes that failure mode 1's stated
closures do not cover, because preflight scans the brief's TEXT and both paths
are produced at runtime:

(a) a TOOL's own output path — `browser screenshot` with no argument writes into
    the system temp dir, and reading it back was auto-rejected. Fixed in the
    brief by passing an explicit path under --dir, NOT by widening the config: a
    screenshot is a pixel-perfect image of an authenticated view, the filename
    prefix is fixed and the directory is shared, so an allow would let any
    dispatch read captures left by any session.

(b) a SKILL's reference/ files resolved against ~/.claude/skills/<name>/ rather
    than the carved-out ~/.config/opencode/skills/**. Preflight printed
    "skill reference/ : readable" — a false all-clear for this shape.

Also records that preflight refuses a brief that merely MENTIONS an external
path in prose: a warning reading "it writes to /tmp" blocks at rc 3.

The headline correction is to "Closed two ways" — a clean preflight is not
evidence a run is safe from an external_directory auto-reject.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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