mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-04-26 01:55:49 +03:00
[GH-ISSUE #87] Report writing permission issues #28
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shannon-KeygraphHQ#28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @st3fan on GitHub (Feb 7, 2026).
Original GitHub issue: https://github.com/KeygraphHQ/shannon/issues/87
Running on Debian Trixie as a regular user:
The relvant bits here are:
@mikegogulski commented on GitHub (Feb 8, 2026):
I'm getting this too, stuff like:
which seems to imply that there should be a place where a
target-repodirectory can be created. My installation has the repo owned by one user but shannon installed in a different user account.@st3fan commented on GitHub (Feb 8, 2026):
I see in the logs that it wrote things to
/tmp/deliverables/code_analysis_deliverable.mdnow but that file is nowhere to be found. Maybe it is in a docker volume?@bubududukuh commented on GitHub (Feb 8, 2026):
test
@Yash-xoxo commented on GitHub (Feb 9, 2026):
Hey @st3fan and @mikegogulski,
I've run into similar permission issues with dockerized tools before, and this looks like a classic UID mismatch problem combined with volume mounting confusion.
What's Happening
From the logs, the issue is pretty clear:
/target-repodirectory is owned by UID 1000 (probably the host user who cloned the repo)pentestuser based on the logs)/target-repo/deliverablesThe tool eventually falls back to
/tmp/deliverables/code_analysis_deliverable.md, but as you noticed, that file "disappears" because it's written inside the container's filesystem, not to a mounted volume.Why
/tmpFiles DisappearWhen Claude writes to
/tmp/deliverables/inside the container, that's not a mounted volume - it's just the container's internal filesystem. Once the container stops or the analysis completes, that data is gone unless/tmpis explicitly mounted.Suggested Fixes
Option 1: Fix the UID Mapping (Recommended)
Update the Docker run command or docker-compose to match UIDs:
Then make sure the target repo is readable by that user:
Option 2: Mount a Deliverables Volume
Add an explicit volume mount for deliverables output:
Create the directory first with proper permissions:
Option 3: Use a Dedicated Output Directory
Instead of trying to write to
/target-repo/deliverables, configure Shannon to use a separate output directory that's properly mounted:Then maybe update the prompts/config to tell Claude to use
/outputinstead of/target-repo/deliverables.Quick Workaround
For immediate testing, you could:
Long-term Solution
The codebase should probably:
SHANNON_OUTPUT_DIR)Would you want me to submit a PR to add better error handling for this? I could add a startup check that verifies write permissions to the expected output directory and gives a clear error message with suggested fixes.
Let me know which approach works best for your setup!