You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documentation/docs/getting-started/using-extensions.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,10 @@ You can also add any other [MCP Server](#mcp-servers) as a Goose extension, even
105
105
106
106
Extensions can be installed directly via the [extensions directory][extensions-directory], CLI, or UI.
107
107
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
+
108
112
### MCP Servers
109
113
110
114
You can install any MCP server as a Goose extension.
Copy file name to clipboardExpand all lines: documentation/docs/troubleshooting.md
+48Lines changed: 48 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -292,6 +292,54 @@ This likely means that the local host address is not accessible from WSL.
292
292
293
293
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
294
294
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
+
295
343
---
296
344
### Need Further Help?
297
345
If you have questions, run into issues, or just need to brainstorm ideas join the [Discord Community][discord]!
0 commit comments