Skip to content

Commit 99fa628

Browse files
michaelnealeangiejonesblackgirlbytes
authored
docs: airgapped operation by bypassing hermit for desktop app (#4063)
Co-authored-by: Angie Jones <jones.angie@gmail.com> Co-authored-by: Rizel Scarlett <rizel@squareup.com>
1 parent c052fae commit 99fa628

File tree

3 files changed

+52
-1
lines changed

3 files changed

+52
-1
lines changed

documentation/docs/getting-started/using-extensions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ You can also add any other [MCP Server](#mcp-servers) as a Goose extension, even
105105

106106
Extensions can be installed directly via the [extensions directory][extensions-directory], CLI, or UI.
107107

108+
:::warning Airgapped Environments
109+
If you're in a corporate or airgapped environment and extensions fail to activate, see [Airgapped/Offline Environments](/docs/troubleshooting#airgappedoffline-environment-issues) for workarounds.
110+
:::
111+
108112
### MCP Servers
109113

110114
You can install any MCP server as a Goose extension.

documentation/docs/guides/environment-variables.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ When the keyring is disabled, secrets are stored here:
256256
* Windows: `%APPDATA%\Block\goose\config\secrets.yaml`
257257
:::
258258

259-
260259
## Langfuse Integration
261260

262261
These variables configure the [Langfuse integration for observability](/docs/tutorials/langfuse).

documentation/docs/troubleshooting.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,54 @@ This likely means that the local host address is not accessible from WSL.
292292

293293
If you still encounter a `failed to connect` error, you can try using WSL's [Mirrored Networking](https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking) setting if you using Windows 11 22H2 or higher
294294
295+
---
296+
297+
### Airgapped/Offline Environment Issues
298+
299+
If you're working in an airgapped, offline, or corporate-restricted environment, you may encounter issues where MCP server extensions fail to activate or download their runtime dependencies.
300+
301+
#### Symptoms:
302+
- Extensions fail to activate with error messages about missing runtime environments
303+
- Errors containing "hermit:fatal" or failed internet downloads
304+
- Extensions work on personal machines but fail in corporate/restricted networks
305+
- Error messages like: `Failed to start extension: Could not run extension command`
306+
307+
#### Solution:
308+
Goose Desktop uses **"shims"** (packaged versions of `npx` and `uvx`) that automatically download runtime environments via Hermit. In restricted networks, these downloads fail.
309+
310+
**Workaround - Use Custom Command Names:**
311+
312+
1. **Create alternatively named versions of package runners on your system:**
313+
```bash
314+
# For uvx (Python packages)
315+
ln -s /usr/local/bin/uvx /usr/local/bin/runuv
316+
317+
# For npx (Node.js packages)
318+
ln -s /usr/local/bin/npx /usr/local/bin/runnpx
319+
```
320+
321+
2. **Update your MCP server configurations to use the custom names:**
322+
323+
Instead of:
324+
```yaml
325+
extensions:
326+
example:
327+
cmd: uvx
328+
args: [mcp-server-example]
329+
```
330+
331+
Use:
332+
```yaml
333+
extensions:
334+
example:
335+
cmd: runuv # This bypasses Goose's shims
336+
args: [mcp-server-example]
337+
```
338+
339+
3. **Why this works:** Goose only replaces known command names (`npx`, `uvx`, `jbang`, etc.) with its packaged shims. Custom names are passed through unchanged to your system's actual executables.
340+
341+
4. **Require more changes**: In a corporate proxy environment or airgapped environment where the above doesn't work, it is recommended that you customize and package up Goose desktop with shims/config that will work given the network constraints you have (for example, TLS certificate limitations, proxies, inability to download required content etc).
342+
295343
---
296344
### Need Further Help?
297345
If you have questions, run into issues, or just need to brainstorm ideas join the [Discord Community][discord]!

0 commit comments

Comments
 (0)