Repository navigation
feat(examples): allow disabling the pi extension via GONDOLIN_DISABLED - #172
Open
ColonelPanics wants to merge 1 commit into
Open
ColonelPanics wants to merge 1 commit into
ColonelPanics wants to merge 1 commit into
Conversation
Running 'pi' with GONDOLIN_DISABLED=1 keeps the extension loaded but skips VM tool routing, so pi falls back to its normal host tools. This provides an escape hatch for running with full system access (e.g. via an alias like 'alias pi-host="GONDOLIN_DISABLED=1 pi"') without having to remove or special-case the extension.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pi-gondolin.tsexample extension: whenGONDOLIN_DISABLED=1is set, the extension default-export returns early, so pi falls back to its normal host tools while the extension itself stays loaded.Motivation
Since the example overrides pi's built-in
read/write/edit/bashtools, the only way to run pi without the sandbox while keeping other extensions, skills, and MCP servers intact is to launch with--no-extensions(-ne) — which disables everything else too, or to edit settings to remove the extension.A common workflow is:
piruns sandboxed in the VM as usual;pi-hostruns with real host access and all other extensions enabled. Because the VM is started lazily and the early return prevents all tool re-registration and thesession_start/user_bashhooks from doing anything, this adds no overhead or behavior change when unset.The env var name follows the existing
GONDOLIN_*convention (GONDOLIN_CPU,GONDOLIN_KRUN_RUNNER,GONDOLIN_START_TIMEOUT_MS, …).Test plan
piruns as before (VM routing active),GONDOLIN_DISABLED=1 piuses host tools with the extension loaded but inert.Note: open PR #125 restructures where the pi extension lives (
host/extensions/). If that lands first I'm happy to rebase this onto it.