ghostdock 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1527 @@
1
+ # ghostdock CLI reference
2
+
3
+ <!-- Generated by `bun run sync:cli-reference` from the CLI's command tree. Do not edit. -->
4
+
5
+ Every command the `ghostdock` CLI ships, with its full description and flags.
6
+ For how to install, log in and choose an organization, read [cli.md](cli.md). Concepts and
7
+ workflows are in the built-in skills (`ghostdock skills list`).
8
+
9
+ Binaries: `ghostdock`, `gdock`.
10
+ Global flag `--base-url`: API origin (overrides GHOSTDOCK_BASE_URL and the built-in default).
11
+ Global flag `--json`: Print the result as one JSON document on stdout, for scripts and agents. Without it, output is for people.
12
+
13
+ ## `ghostdock apps`
14
+
15
+ Published apps of an organization.
16
+
17
+ ### `ghostdock apps list`
18
+
19
+ List the live published apps (sites) of an organization, with their URLs. Each app has a siteId to pass to sites unpublish.
20
+
21
+ ```
22
+ ghostdock apps list [flags]
23
+ ```
24
+
25
+ | Argument | Description |
26
+ | --- | --- |
27
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
28
+
29
+ MCP tool: `apps_list`.
30
+
31
+ ## `ghostdock env`
32
+
33
+ Manage organization environment variables and secrets.
34
+
35
+ ### `ghostdock env delete`
36
+
37
+ Delete a variable or secret.
38
+
39
+ ```
40
+ ghostdock env delete <name> [flags]
41
+ ```
42
+
43
+ | Argument | Description |
44
+ | --- | --- |
45
+ | `<name>` | Environment variable name. Required. |
46
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
47
+
48
+ MCP tool: `env_delete`.
49
+
50
+ ### `ghostdock env get`
51
+
52
+ Print one variable value in full (secrets cannot be read).
53
+
54
+ ```
55
+ ghostdock env get <name> [flags]
56
+ ```
57
+
58
+ | Argument | Description |
59
+ | --- | --- |
60
+ | `<name>` | Environment variable name. Required. |
61
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
62
+
63
+ MCP tool: `env_get`.
64
+
65
+ ### `ghostdock env list`
66
+
67
+ List variables and secrets.
68
+
69
+ ```
70
+ ghostdock env list [flags]
71
+ ```
72
+
73
+ | Argument | Description |
74
+ | --- | --- |
75
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
76
+
77
+ MCP tool: `env_list`.
78
+
79
+ ### `ghostdock env set`
80
+
81
+ Create or replace a variable or secret.
82
+
83
+ ```
84
+ ghostdock env set <name> [flags]
85
+ ```
86
+
87
+ | Argument | Description |
88
+ | --- | --- |
89
+ | `<name>` | Environment variable name. Required. |
90
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
91
+ | `--value <value>` | Value to store. |
92
+ | `--value-stdin` | Read the value from stdin — keeps secrets out of shell history. |
93
+ | `--secret` | Shorthand for --kind secret. Required when creating a secret. |
94
+ | `--kind <value>` | variable or secret. Required when creating; on an update, omit to keep the existing kind or pass the other to convert. |
95
+ | `--comment <value>` | Note about what this value is for. |
96
+
97
+ MCP tool: `env_set`.
98
+
99
+ ## `ghostdock images`
100
+
101
+ Organization image catalog: OCI bookmarks, Dockerfiles and Compose files.
102
+
103
+ ### `ghostdock images add`
104
+
105
+ Bookmark an OCI image ref in the organization’s image catalog. Fails if it is already bookmarked.
106
+
107
+ ```
108
+ ghostdock images add --ref <string> [flags]
109
+ ```
110
+
111
+ | Argument | Description |
112
+ | --- | --- |
113
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
114
+ | `--ref <string>` | OCI image reference, e.g. ghcr.io/acme/app:latest. Required. |
115
+ | `--label <string>` | Display label for the bookmark. Optional. |
116
+
117
+ MCP tool: `images_add`.
118
+
119
+ ### `ghostdock images add-compose`
120
+
121
+ Add Compose files to the organization’s image catalog. Must include docker-compose.yml/yaml or compose.yml/yaml; ghostdock.* service labels become its manifest. Fails if the name is taken.
122
+
123
+ ```
124
+ ghostdock images add-compose --name <string> --files <object> [flags]
125
+ ```
126
+
127
+ | Argument | Description |
128
+ | --- | --- |
129
+ | `--name <string>` | Image name, unique in the organization. Required. |
130
+ | `--files <object>` | Compose files by file name. Must include docker-compose.yml/yaml or compose.yml/yaml. (JSON object) Required. |
131
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
132
+
133
+ MCP tool: `images_add_compose`.
134
+
135
+ ### `ghostdock images add-dockerfile`
136
+
137
+ Add a Dockerfile to the organization’s image catalog. ghostdock.* LABEL lines become its manifest. Fails if the name is taken.
138
+
139
+ ```
140
+ ghostdock images add-dockerfile --name <string> --dockerfile <string> [flags]
141
+ ```
142
+
143
+ | Argument | Description |
144
+ | --- | --- |
145
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
146
+ | `--name <string>` | Image name, unique in the organization. Required. |
147
+ | `--dockerfile <string>` | Dockerfile text. ghostdock.* LABEL lines become the image manifest. Required. |
148
+
149
+ MCP tool: `images_add_dockerfile`.
150
+
151
+ ### `ghostdock images get`
152
+
153
+ Get one catalog image with its spec, manifest and requirements. Returns kind, spec and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. An OCI bookmark’s manifest is null: its labels are read at create time.
154
+
155
+ ```
156
+ ghostdock images get <image-id> [flags]
157
+ ```
158
+
159
+ | Argument | Description |
160
+ | --- | --- |
161
+ | `<image-id>` | Catalog image id, from images list or images get. Required. |
162
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
163
+
164
+ MCP tool: `images_get`.
165
+
166
+ ### `ghostdock images list`
167
+
168
+ List the images an organization can boot sandboxes from. OCI bookmarks, images add-dockerfile and images add-compose rows, and refs its sandboxes use. A discovery catalog, not an allowlist: sandboxes create accepts any OCI ref. Items carry sandboxCount and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. An OCI bookmark stores no labels (manifest null): sandboxes create reads them from the digest the ref names then.
169
+
170
+ ```
171
+ ghostdock images list [flags]
172
+ ```
173
+
174
+ | Argument | Description |
175
+ | --- | --- |
176
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
177
+
178
+ MCP tool: `images_list`.
179
+
180
+ ### `ghostdock images remove`
181
+
182
+ Remove an image from the organization’s catalog. Sandboxes already using it are not affected.
183
+
184
+ ```
185
+ ghostdock images remove <image-id> [flags]
186
+ ```
187
+
188
+ | Argument | Description |
189
+ | --- | --- |
190
+ | `<image-id>` | Catalog image id, from images list or images get. Required. |
191
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
192
+
193
+ MCP tool: `images_remove`.
194
+
195
+ ### `ghostdock images update-compose`
196
+
197
+ Replace a catalog Compose image’s files and/or name. Re-parses its labels.
198
+
199
+ ```
200
+ ghostdock images update-compose <image-id> [flags]
201
+ ```
202
+
203
+ | Argument | Description |
204
+ | --- | --- |
205
+ | `<image-id>` | Catalog image id, from images list or images get. Required. |
206
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
207
+ | `--files <object>` | New Compose files by file name. Omit to keep the current files. (JSON object) |
208
+ | `--name <string>` | New image name. Omit to keep it. |
209
+
210
+ MCP tool: `images_update_compose`.
211
+
212
+ ### `ghostdock images update-dockerfile`
213
+
214
+ Replace a catalog Dockerfile, optionally renaming it. Re-parses its ghostdock.* labels.
215
+
216
+ ```
217
+ ghostdock images update-dockerfile <image-id> --dockerfile <string> [flags]
218
+ ```
219
+
220
+ | Argument | Description |
221
+ | --- | --- |
222
+ | `<image-id>` | Catalog image id, from images list or images get. Required. |
223
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
224
+ | `--dockerfile <string>` | Dockerfile text. ghostdock.* LABEL lines become the image manifest. Required. |
225
+ | `--name <string>` | New image name. Omit to keep it. |
226
+
227
+ MCP tool: `images_update_dockerfile`.
228
+
229
+ ## `ghostdock login`
230
+
231
+ Sign in and store a device access token for this CLI.
232
+
233
+ ```
234
+ ghostdock login [flags]
235
+ ```
236
+
237
+ | Argument | Description |
238
+ | --- | --- |
239
+ | `--wait` | Poll until the login is approved in the browser (default timeout 5 minutes). |
240
+ | `--code <value>` | Redeem the one-time paste code shown in the browser instead of polling. |
241
+ | `--timeout <value>` | Max seconds to poll when using --wait (default 300). |
242
+ | `--org <value>` | Set this organization (id or slug) as the default once logged in. |
243
+
244
+ ## `ghostdock logout`
245
+
246
+ Revoke the device session and remove stored credentials.
247
+
248
+ ```
249
+ ghostdock logout
250
+ ```
251
+
252
+ ## `ghostdock network`
253
+
254
+ The private network: reach your sandboxes by address and name from this machine.
255
+
256
+ ### `ghostdock network connect`
257
+
258
+ Put this machine into the private network: WireGuard and split DNS. Asks for sudo once.
259
+
260
+ ```
261
+ ghostdock network connect [flags]
262
+ ```
263
+
264
+ | Argument | Description |
265
+ | --- | --- |
266
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
267
+
268
+ ### `ghostdock network devices`
269
+
270
+ Your devices in the private network.
271
+
272
+ ```
273
+ ghostdock network devices <command>
274
+ ```
275
+
276
+ ### `ghostdock network devices remove`
277
+
278
+ Remove one of your devices from the private network.
279
+
280
+ ```
281
+ ghostdock network devices remove <id>
282
+ ```
283
+
284
+ | Argument | Description |
285
+ | --- | --- |
286
+ | `<id>` | Device id, from `network devices`. Required. |
287
+
288
+ ### `ghostdock network disconnect`
289
+
290
+ Take this machine out of the private network.
291
+
292
+ ```
293
+ ghostdock network disconnect
294
+ ```
295
+
296
+ ### `ghostdock network ls`
297
+
298
+ Sandboxes of an organization with their private addresses and names.
299
+
300
+ ```
301
+ ghostdock network ls [flags]
302
+ ```
303
+
304
+ | Argument | Description |
305
+ | --- | --- |
306
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
307
+
308
+ ### `ghostdock network status`
309
+
310
+ Whether this machine is connected, and as which device.
311
+
312
+ ```
313
+ ghostdock network status
314
+ ```
315
+
316
+ ### `ghostdock network use`
317
+
318
+ Choose the organization <sandbox>.gdock.internal names resolve in on this machine.
319
+
320
+ ```
321
+ ghostdock network use [org] [flags]
322
+ ```
323
+
324
+ | Argument | Description |
325
+ | --- | --- |
326
+ | `<org>` | Organization id or slug. |
327
+ | `--clear` | Turn short names off. |
328
+
329
+ ## `ghostdock organizations`
330
+
331
+ Organizations you belong to.
332
+
333
+ ### `ghostdock organizations current`
334
+
335
+ Show which organization commands use, and where it comes from.
336
+
337
+ ```
338
+ ghostdock organizations current [flags]
339
+ ```
340
+
341
+ | Argument | Description |
342
+ | --- | --- |
343
+ | `--org <value>` | Check what this --org would resolve to. |
344
+
345
+ ### `ghostdock organizations list`
346
+
347
+ List the organizations you belong to, with their ids and slugs.
348
+
349
+ ```
350
+ ghostdock organizations list
351
+ ```
352
+
353
+ MCP tool: `organizations_list`.
354
+
355
+ ### `ghostdock organizations use`
356
+
357
+ Set the default organization for commands run in this directory.
358
+
359
+ ```
360
+ ghostdock organizations use [org] [flags]
361
+ ```
362
+
363
+ | Argument | Description |
364
+ | --- | --- |
365
+ | `<org>` | Organization id or slug. |
366
+ | `--clear` | Remove the default organization. |
367
+
368
+ ## `ghostdock projects`
369
+
370
+ Deployable projects, their deployments and environment.
371
+
372
+ ### `ghostdock projects create`
373
+
374
+ Create an empty project. Nothing is deployed until projects publish.
375
+
376
+ ```
377
+ ghostdock projects create --display-name <string> [flags]
378
+ ```
379
+
380
+ | Argument | Description |
381
+ | --- | --- |
382
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
383
+ | `--display-name <string>` | Project name. Required. |
384
+
385
+ MCP tool: `projects_create`.
386
+
387
+ ### `ghostdock projects deployments`
388
+
389
+ Deployments of a project.
390
+
391
+ ### `ghostdock projects deployments get`
392
+
393
+ Get one deploy attempt, with links to its stored files. fileUrls are authenticated GET paths for source.zip and generated Compose files.
394
+
395
+ ```
396
+ ghostdock projects deployments get <deployment-id> --project-id <string> [flags]
397
+ ```
398
+
399
+ | Argument | Description |
400
+ | --- | --- |
401
+ | `<deployment-id>` | Deployment id, from projects deployments list. Required. |
402
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
403
+ | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
404
+
405
+ MCP tool: `projects_deployments_get`.
406
+
407
+ ### `ghostdock projects deployments list`
408
+
409
+ List a project’s deploy attempts, newest first.
410
+
411
+ ```
412
+ ghostdock projects deployments list <project-id> [flags]
413
+ ```
414
+
415
+ | Argument | Description |
416
+ | --- | --- |
417
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
418
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
419
+
420
+ MCP tool: `projects_deployments_list`.
421
+
422
+ ### `ghostdock projects env`
423
+
424
+ Environment a project exports.
425
+
426
+ ### `ghostdock projects env delete`
427
+
428
+ Delete one of a project’s own variables or secrets.
429
+
430
+ ```
431
+ ghostdock projects env delete <name> --project-id <string> [flags]
432
+ ```
433
+
434
+ | Argument | Description |
435
+ | --- | --- |
436
+ | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
437
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
438
+ | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
439
+
440
+ MCP tool: `projects_env_delete`.
441
+
442
+ ### `ghostdock projects env get`
443
+
444
+ Get a project’s stored environment. Local entries (secret values withheld), organization opt-ins and bindings, applied on every deploy.
445
+
446
+ ```
447
+ ghostdock projects env get <project-id> [flags]
448
+ ```
449
+
450
+ | Argument | Description |
451
+ | --- | --- |
452
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
453
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
454
+
455
+ MCP tool: `projects_env_get`.
456
+
457
+ ### `ghostdock projects env select`
458
+
459
+ Replace the organization entries a project exports. Full replace: environment is the whole list ([] clears it), and omitting bindings clears the remaps. Read the environment skill (`ghostdock skills get environment`).
460
+
461
+ ```
462
+ ghostdock projects env select <project-id> --environment <array> [flags]
463
+ ```
464
+
465
+ | Argument | Description |
466
+ | --- | --- |
467
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
468
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
469
+ | `--environment <array>` | Organization catalogue entry names to export under their own names. (JSON array) Required. |
470
+ | `--bindings <array>` | Slot-centric org bindings. Omit to clear existing remaps. (JSON array) |
471
+
472
+ MCP tool: `projects_env_select`.
473
+
474
+ ### `ghostdock projects env set`
475
+
476
+ Create or replace one of a project’s own variables or secrets. Prefer the CLI for secret values so they stay out of the conversation.
477
+
478
+ ```
479
+ ghostdock projects env set <name> --project-id <string> --value <string> --kind <string> [flags]
480
+ ```
481
+
482
+ | Argument | Description |
483
+ | --- | --- |
484
+ | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
485
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
486
+ | `--project-id <string>` | Project id, from projects list (projects publish returns it too). Required. |
487
+ | `--value <string>` | The value to store. A secret value can be replaced later but never read back. Required. |
488
+ | `--kind <string>` | "variable" or "secret". A secret value can be replaced but never read back. Required. |
489
+ | `--comment <string>` | Optional note shown with the entry, e.g. what it is for. |
490
+
491
+ MCP tool: `projects_env_set`.
492
+
493
+ ### `ghostdock projects get`
494
+
495
+ Get a project with its latest attempt and live deployment. latestDeploymentId includes failures; liveDeploymentId / liveUrl is the success that serves the public URL.
496
+
497
+ ```
498
+ ghostdock projects get <project-id> [flags]
499
+ ```
500
+
501
+ | Argument | Description |
502
+ | --- | --- |
503
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
504
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
505
+
506
+ MCP tool: `projects_get`.
507
+
508
+ ### `ghostdock projects list`
509
+
510
+ List an organization’s projects. A project owns its environment, deployment history and live URL. apps list lists live URLs instead.
511
+
512
+ ```
513
+ ghostdock projects list [flags]
514
+ ```
515
+
516
+ | Argument | Description |
517
+ | --- | --- |
518
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
519
+
520
+ MCP tool: `projects_list`.
521
+
522
+ ### `ghostdock projects publish`
523
+
524
+ Inspect local source with the deploy agent and publish to the CDN or a sandbox.
525
+
526
+ ```
527
+ ghostdock projects publish [path] [flags]
528
+ ```
529
+
530
+ | Argument | Description |
531
+ | --- | --- |
532
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
533
+ | `--project-id <value>` | Existing project id. Omit to create a project. |
534
+ | `--replan` | Force a new planner run even when the stored spec still matches. |
535
+ | `--require-verify` | Fail the deploy (verify_failed) when detected tests fail. Default false: tests still run and are reported. |
536
+ | `--spec <value>` | JSON DeploymentSpec to execute on a fresh sandbox instead of planning. Mutually exclusive with --replan. |
537
+ | `--display-name <value>` | Optional display name. |
538
+ | `--tag <value>` | Optional caller tag (git SHA or free-form label) stored on the deployment. |
539
+ | `--auto-stop-interval-minutes <value>` | Same as `sandboxes create`. Omit for the 20-minute default. Pass -1 to keep it running. 0 is rejected. |
540
+ | `--auto-delete-interval-minutes <value>` | Same as `sandboxes create`. Omit for the 14-day default. Pass 0 to delete the record when it stops, or -1 to keep it. |
541
+ | `--resources <value>` | Same as `sandboxes create`: JSON { cpu, memoryGiB, diskGiB }. |
542
+ | `--environment <value>` | Same as `sandboxes create --environment`: JSON { organization, bindings, local }. Required after awaiting_configuration. |
543
+ | `--auto-wake <value>` | Same as `sandboxes urls create --auto-wake`. Default true for the minted URL. |
544
+ | `--public <value>` | Same as `sandboxes urls create --public`. Default true for the minted URL. |
545
+ | `--sandbox-provider-id <value>` | Same as `sandboxes create`: configured sandbox-provider instance id (omit for the organization default). |
546
+ | `--zip <value>` | Local ZIP of the source tree. |
547
+ | `<path>` | File or directory to publish (additional paths are allowed). |
548
+
549
+ MCP tool: `projects_publish`.
550
+
551
+ ### `ghostdock projects redeploy`
552
+
553
+ Deploy a project’s stored source again, with its current environment. No new upload. Omit deploymentId to retry the last attempt that stored source. Same outcomes and settings as projects publish; read the publishing skill (`ghostdock skills get publishing`).
554
+
555
+ ```
556
+ ghostdock projects redeploy <project-id> [flags]
557
+ ```
558
+
559
+ | Argument | Description |
560
+ | --- | --- |
561
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
562
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
563
+ | `--deployment-id <string>` | Ship this version’s stored upload and spec. Omit to retry the last attempt that stored source. |
564
+ | `--require-verify` | When true, a failing verify step stops the deploy (verify_failed) and tears the sandbox down. Default false. |
565
+ | `--tag <string>` | Optional caller tag stored on the new deployment. Metadata only. |
566
+ | `--resources <object>` | Compute sizing. For image/dockerfile/compose: layered on platform defaults when omitted. For snapshot: optional override applied via resize after create. (JSON object) |
567
+ | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 means always on. 0 is rejected. Omit for the platform default. Provider-native timers are optional backup. |
568
+ | `--auto-delete-interval-minutes <number>` | Minutes the sandbox stays stopped before the platform worker deletes the record. 0 deletes it when it stops. -1 keeps it until a person deletes it. Omit for the platform default. Provider-native timers are optional backup. |
569
+ | `--sandbox-provider-id <string>` | Configured sandbox-provider instance id from providers list (not the provider kind). Omit to use the organization default (the org choice, else the platform default); if that provider lacks a capability this create needs, the first listed provider that accepts new sandboxes and has it is used. When no provider fits, the call fails with a not-configured error. |
570
+ | `--environment <object>` | Environment to give this sandbox. organization: names of organization entries (from env list) to export under their own names. bindings: remap org entries onto slot names ({ name: slot, organization: orgEntryName }). local: sandbox-only variables/secrets to create with the sandbox (kind required for each). Both land as ordinary process environment variables ($NAME / process.env.NAME); a local entry overrides an organization entry of the same name. When booting from an organization snapshot, omit organization/bindings/local to keep manifest env defaults, but still supply every name in requiredEnvironment (via organization, bindings, or local). Otherwise a sandbox gets nothing unless listed here. (JSON object) |
571
+ | `--ephemeral` | Mark the sandbox ephemeral: every stop destroys the machine and the next start boots fresh, while the record, URLs, and settings stay. Omit to use the image label ghostdock.ephemeral, or false when that label is absent. Does not change idle-stop or auto-delete. |
572
+ | `--auto-wake` | Same as urls[].autoWake on sandboxes create. Default true for the minted URL. |
573
+ | `--public` | Same as urls[].public on sandboxes create. Default true for the minted URL. |
574
+
575
+ MCP tool: `projects_redeploy`.
576
+
577
+ ### `ghostdock projects update`
578
+
579
+ Rename a project.
580
+
581
+ ```
582
+ ghostdock projects update <project-id> --display-name <string> [flags]
583
+ ```
584
+
585
+ | Argument | Description |
586
+ | --- | --- |
587
+ | `<project-id>` | Project id, from projects list (projects publish returns it too). Required. |
588
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
589
+ | `--display-name <string>` | New name. Null or empty clears it. Required. |
590
+
591
+ MCP tool: `projects_update`.
592
+
593
+ ## `ghostdock providers`
594
+
595
+ Sandbox providers of an organization.
596
+
597
+ ### `ghostdock providers disconnect`
598
+
599
+ Disconnect one of the organization’s own sandbox providers. Owner or admin. Fails while sandboxes still use it. If organization snapshots live on it, the first call fails: pass confirmLinkedDeletion to delete them permanently. Also frees its custom domain and removes incomplete Incus setups; a default provider falls back to the platform default.
600
+
601
+ ```
602
+ ghostdock providers disconnect <sandbox-provider-id> [flags]
603
+ ```
604
+
605
+ | Argument | Description |
606
+ | --- | --- |
607
+ | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
608
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
609
+ | `--confirm-linked-deletion` | Required when this provider still has organization snapshots. Permanently deletes those snapshots, then disconnects. |
610
+
611
+ MCP tool: `providers_disconnect`.
612
+
613
+ ### `ghostdock providers list`
614
+
615
+ List the sandbox providers an organization can create sandboxes on. Includes its own connected providers and the platform providers it may use, in fallback order. Use an item id as sandboxProviderId. Only items with acceptsNewSandboxes true take new sandboxes; an own provider stays incomplete until customDomain.status is active. defaultSandboxProviderId is the effective default. Read the sandboxes skill (`ghostdock skills get sandboxes`) for the details.
616
+
617
+ ```
618
+ ghostdock providers list [flags]
619
+ ```
620
+
621
+ | Argument | Description |
622
+ | --- | --- |
623
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
624
+
625
+ MCP tool: `providers_list`.
626
+
627
+ ### `ghostdock providers rename`
628
+
629
+ Rename one of the organization’s own sandbox providers. Owner or admin. Platform providers cannot be renamed; names must be unique in the organization.
630
+
631
+ ```
632
+ ghostdock providers rename <sandbox-provider-id> --name <string> [flags]
633
+ ```
634
+
635
+ | Argument | Description |
636
+ | --- | --- |
637
+ | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
638
+ | `--name <string>` | New name, unique in the organization. Required. |
639
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
640
+
641
+ MCP tool: `providers_rename`.
642
+
643
+ ### `ghostdock providers set-default`
644
+
645
+ Set the provider used when a create omits sandboxProviderId. Applies to sandboxes create, projects publish and projects redeploy. Pass an own connected provider or a platform provider that accepts new sandboxes; pass null (or platformDefaultSandboxProviderId) to follow the platform default. Owner or admin.
646
+
647
+ ```
648
+ ghostdock providers set-default <sandbox-provider-id> [flags]
649
+ ```
650
+
651
+ | Argument | Description |
652
+ | --- | --- |
653
+ | `<sandbox-provider-id>` | Instance id from providers list (own or platform), or null to follow the platform default. Passing platformDefaultSandboxProviderId also follows the platform default; it is never pinned. Required. |
654
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
655
+
656
+ MCP tool: `providers_set_default`.
657
+
658
+ ### `ghostdock providers start-incus`
659
+
660
+ Start connecting an Incus host as a sandbox provider. Owner or admin. Returns sshPublicKey and aiSetupPrompt; then call providers verify-incus. To finish an incomplete setup, reuse it from providers list instead of starting again. Read the incus-setup skill (`ghostdock skills get incus-setup`) first.
661
+
662
+ ```
663
+ ghostdock providers start-incus [flags]
664
+ ```
665
+
666
+ | Argument | Description |
667
+ | --- | --- |
668
+ | `--name <string>` | Name for the new provider. Optional. |
669
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
670
+
671
+ MCP tool: `providers_start_incus`.
672
+
673
+ ### `ghostdock providers verify-incus`
674
+
675
+ Check or finish connecting an Incus host. Owner or admin. Connects over SSH with the stored key and checks Incus 6.3+, skopeo and umoci. Omit sshHost to re-check the stored address; pass it (with the other host fields) only to move the provider. A failed check marks the provider error. Read the incus-setup skill (`ghostdock skills get incus-setup`).
676
+
677
+ ```
678
+ ghostdock providers verify-incus <sandbox-provider-id> [flags]
679
+ ```
680
+
681
+ | Argument | Description |
682
+ | --- | --- |
683
+ | `<sandbox-provider-id>` | Sandbox provider id, from providers list. Required. |
684
+ | `--ssh-host <string>` | Host to SSH to. Omit to re-check the stored address; pass it only to set up or move the provider. |
685
+ | `--ssh-port <integer>` | SSH port. Default 22. |
686
+ | `--ssh-user <string>` | SSH login. Default incus-user. |
687
+ | `--ingress-host <string>` | Public hostname for HTTP(S) when it is not the SSH host (also the DNS A/AAAA target). |
688
+ | `--ssh-proxy-port <integer>` | Port for sandbox SSH on the host. Default 2222. |
689
+ | `--name <string>` | New name. Optional. |
690
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
691
+
692
+ MCP tool: `providers_verify_incus`.
693
+
694
+ ## `ghostdock registry`
695
+
696
+ Log in to the organization container registry.
697
+
698
+ ### `ghostdock registry credentials`
699
+
700
+ Print registry host, username, and the one-hour password.
701
+
702
+ ```
703
+ ghostdock registry credentials [flags]
704
+ ```
705
+
706
+ | Argument | Description |
707
+ | --- | --- |
708
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
709
+ | `--provider <value>` | Sandbox provider id. Omit for the provider `sandboxes create` would pick (org default, else platform default, else the first that fits). |
710
+
711
+ MCP tool: `registry_credentials`.
712
+
713
+ ### `ghostdock registry login`
714
+
715
+ Fetch a one-hour password and run docker login --password-stdin.
716
+
717
+ ```
718
+ ghostdock registry login [flags]
719
+ ```
720
+
721
+ | Argument | Description |
722
+ | --- | --- |
723
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
724
+ | `--provider <value>` | Sandbox provider id. Omit for the provider `sandboxes create` would pick (org default, else platform default, else the first that fits). |
725
+
726
+ ## `ghostdock sandboxes`
727
+
728
+ Create, run and manage sandboxes.
729
+
730
+ ### `ghostdock sandboxes build`
731
+
732
+ Create a sandbox from a local Dockerfile or Compose directory. Zips the directory (or takes --zip) and builds it on the sandbox provider; use it when the Dockerfile copies local files or the Compose project has build contexts.
733
+
734
+ ```
735
+ ghostdock sandboxes build [path] --kind <value> [flags]
736
+ ```
737
+
738
+ | Argument | Description |
739
+ | --- | --- |
740
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
741
+ | `--kind <value>` | dockerfile or compose. Required. |
742
+ | `--sandbox-provider-id <value>` | Configured sandbox-provider instance id (omit for the organization default). |
743
+ | `--display-name <value>` | Optional sandbox display name. |
744
+ | `--zip <value>` | Local ZIP of the build directory (Dockerfile or compose file at the zip root). |
745
+ | `<path>` | Build directory to zip and create from. |
746
+
747
+ ### `ghostdock sandboxes commands`
748
+
749
+ Run commands in a sandbox and read their output.
750
+
751
+ ### `ghostdock sandboxes commands get`
752
+
753
+ Get a shell command’s status and exit code.
754
+
755
+ ```
756
+ ghostdock sandboxes commands get <command-id> --sandbox-id <string> --session-id <string> [flags]
757
+ ```
758
+
759
+ | Argument | Description |
760
+ | --- | --- |
761
+ | `<command-id>` | Command id returned by sandboxes commands run. Required. |
762
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
763
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
764
+ | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
765
+
766
+ MCP tool: `sandboxes_commands_get`.
767
+
768
+ ### `ghostdock sandboxes commands kill`
769
+
770
+ Interrupt a running shell command.
771
+
772
+ ```
773
+ ghostdock sandboxes commands kill <command-id> --sandbox-id <string> --session-id <string> [flags]
774
+ ```
775
+
776
+ | Argument | Description |
777
+ | --- | --- |
778
+ | `<command-id>` | Command id returned by sandboxes commands run. Required. |
779
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
780
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
781
+ | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
782
+
783
+ MCP tool: `sandboxes_commands_kill`.
784
+
785
+ ### `ghostdock sandboxes commands logs`
786
+
787
+ Get a page of a shell command’s stdout and stderr.
788
+
789
+ ```
790
+ ghostdock sandboxes commands logs <command-id> --sandbox-id <string> --session-id <string> [flags]
791
+ ```
792
+
793
+ | Argument | Description |
794
+ | --- | --- |
795
+ | `<command-id>` | Command id returned by sandboxes commands run. Required. |
796
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
797
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
798
+ | `--session-id <string>` | Session id returned by sandboxes commands run together with the commandId. Required. |
799
+ | `--offset <integer>` | Character offset to continue reading from. Default 0. |
800
+
801
+ MCP tool: `sandboxes_commands_logs`.
802
+
803
+ ### `ghostdock sandboxes commands run`
804
+
805
+ Run a shell command in a sandbox. Waits up to 120 seconds, then returns sessionId and commandId to poll. Starts the sandbox when allowed. Sessions do not survive idle-stop: for a process that must keep running, read the sandbox-boot skill (`ghostdock skills get sandbox-boot`). Never put secret values in the command; it is logged.
806
+
807
+ ```
808
+ ghostdock sandboxes commands run <sandbox-id> --command <string> [flags]
809
+ ```
810
+
811
+ | Argument | Description |
812
+ | --- | --- |
813
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
814
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
815
+ | `--command <string>` | Shell command to run. Never include secret values: commands are logged. Required. |
816
+ | `--session-id <string>` | Session from sandboxes shells create, to keep cwd and environment from earlier commands. Omit for a one-off session. |
817
+ | `--cwd <string>` | Directory to run the command in. |
818
+ | `--wait-seconds <number>` | Seconds to wait before returning handles to poll: 1 to 120, default 120. |
819
+
820
+ MCP tool: `sandboxes_commands_run`.
821
+
822
+ ### `ghostdock sandboxes create`
823
+
824
+ Create a sandbox from a snapshot, OCI image, Dockerfile or Compose files. Inline content only: for a directory or ZIP (Dockerfile COPY/ADD, Compose build files) use `ghostdock sandboxes build`. Snapshots and catalog images can require environment entries, URL ports and MCP names (requiredEnvironment / requiredUrls / requiredMcps); a missing environment entry fails with its names (missingEnvironment), and removing a required URL or MCP fails with them (missingUrls / missingMcps). Returns once the sandbox is running, with `boot`: how long the sandbox (VM) and, when one was started, its container took to start, each in ms. Idle-stop and auto-delete apply (defaults 20 minutes / 14 days). Read the sandboxes skill (`ghostdock skills get sandboxes`) for sources, manifests, lifecycle and providers.
825
+
826
+ ```
827
+ ghostdock sandboxes create --source <object> [flags]
828
+ ```
829
+
830
+ | Argument | Description |
831
+ | --- | --- |
832
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
833
+ | `--display-name <string>` | Display name for the sandbox. Optional. |
834
+ | `--source <object>` | What the sandbox boots from. Required. "image" boots an org catalog row by id ({ id } from images list / images get — images add OCI bookmarks, images add-dockerfile, and images add-compose rows) or any OCI ref ({ ref }); "dockerfile" builds inline Dockerfile text only (ghostdock.* LABEL lines parsed for manifest; this tool has no build directory, so COPY/ADD of local files fails — use the CLI `ghostdock sandboxes build --kind dockerfile` with a directory or ZIP); "compose" boots Docker-in-Docker from the given inline files (must include docker-compose.yml/yaml or compose.yml/yaml; ghostdock.* service labels parsed for manifest). A Compose project that needs extra files is not accepted here — use `ghostdock sandboxes build --kind compose`. Image, dockerfile, and compose sources never appear in snapshots list. Published static sites use sites publish (CDN), not a snapshot. (JSON object) Required. |
835
+ | `--resources <object>` | Compute sizing. For image/dockerfile/compose: layered on platform defaults when omitted. For snapshot: optional override applied via resize after create. (JSON object) |
836
+ | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 means always on. 0 is rejected. Omit for the platform default. Provider-native timers are optional backup. |
837
+ | `--auto-delete-interval-minutes <number>` | Minutes the sandbox stays stopped before the platform worker deletes the record. 0 deletes it when it stops. -1 keeps it until a person deletes it. Omit for the platform default. Provider-native timers are optional backup. |
838
+ | `--sandbox-provider-id <string>` | Configured sandbox-provider instance id from providers list (not the provider kind). Omit to use the organization default (the org choice, else the platform default); if that provider lacks a capability this create needs, the first listed provider that accepts new sandboxes and has it is used. When no provider fits, the call fails with a not-configured error. |
839
+ | `--environment <object>` | Environment to give this sandbox. organization: names of organization entries (from env list) to export under their own names. bindings: remap org entries onto slot names ({ name: slot, organization: orgEntryName }). local: sandbox-only variables/secrets to create with the sandbox (kind required for each). Both land as ordinary process environment variables ($NAME / process.env.NAME); a local entry overrides an organization entry of the same name. When booting from an organization snapshot, omit organization/bindings/local to keep manifest env defaults, but still supply every name in requiredEnvironment (via organization, bindings, or local). Otherwise a sandbox gets nothing unless listed here. (JSON object) |
840
+ | `--ephemeral` | Mark the sandbox ephemeral: every stop destroys the machine and the next start boots fresh, while the record, URLs, and settings stay. Omit to use the image label ghostdock.ephemeral, or false when that label is absent. Does not change idle-stop or auto-delete. |
841
+ | `--urls <array>` | Changes to the image’s or snapshot’s URLs, keyed by port. Omit for the image URLs as they are; otherwise you get the image URLs plus yours: an entry on the same port replaces that URL completely (omitted fields take their defaults), and { port, remove: true } drops it; removing a port the image does not declare does nothing. A required port cannot be removed. TCP URLs are always public. (JSON array) |
842
+ | `--mcps <array>` | Changes to the image’s or snapshot’s MCP exposures, keyed by name. Omit for the image MCPs as they are; otherwise you get the image MCPs plus yours: an entry with the same name replaces that MCP completely, and { name, remove: true } drops it; removing a name the image does not declare does nothing. A required MCP (requiredMcps) cannot be removed. (JSON array) |
843
+
844
+ MCP tool: `sandboxes_create`.
845
+
846
+ ### `ghostdock sandboxes delete`
847
+
848
+ Permanently delete a sandbox and its files.
849
+
850
+ ```
851
+ ghostdock sandboxes delete <sandbox-id> [flags]
852
+ ```
853
+
854
+ | Argument | Description |
855
+ | --- | --- |
856
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
857
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
858
+
859
+ MCP tool: `sandboxes_delete`.
860
+
861
+ ### `ghostdock sandboxes env`
862
+
863
+ Environment of one sandbox.
864
+
865
+ ### `ghostdock sandboxes env delete`
866
+
867
+ Delete one of a sandbox’s own variables or secrets.
868
+
869
+ ```
870
+ ghostdock sandboxes env delete <name> --sandbox-id <string> [flags]
871
+ ```
872
+
873
+ | Argument | Description |
874
+ | --- | --- |
875
+ | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
876
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
877
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
878
+ | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only. |
879
+
880
+ MCP tool: `sandboxes_env_delete`.
881
+
882
+ ### `ghostdock sandboxes env get`
883
+
884
+ Get a sandbox’s environment: selections, bindings and local entries. Shows each organization entry with whether it is selected, exportAs, and overriddenByLocal; secret values are withheld. Nothing is inherited.
885
+
886
+ ```
887
+ ghostdock sandboxes env get <sandbox-id> [flags]
888
+ ```
889
+
890
+ | Argument | Description |
891
+ | --- | --- |
892
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
893
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
894
+
895
+ MCP tool: `sandboxes_env_get`.
896
+
897
+ ### `ghostdock sandboxes env select`
898
+
899
+ Replace the organization entries a sandbox exports. Full replace: environment is the whole list ([] clears it), and omitting bindings clears the remaps. Running processes keep their old values until restarted (pass restart). Read the environment skill (`ghostdock skills get environment`).
900
+
901
+ ```
902
+ ghostdock sandboxes env select <sandbox-id> --environment <array> [flags]
903
+ ```
904
+
905
+ | Argument | Description |
906
+ | --- | --- |
907
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
908
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
909
+ | `--environment <array>` | Organization catalogue entry names to export under their own names. Pass [] to clear plain selections. (JSON array) Required. |
910
+ | `--bindings <array>` | Slot-centric org bindings: export an organization entry under a (possibly different) sandbox env name. Omit to clear existing remaps (full replace). (JSON array) |
911
+ | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only; already-running processes keep the old values until restarted. |
912
+
913
+ MCP tool: `sandboxes_env_select`.
914
+
915
+ ### `ghostdock sandboxes env set`
916
+
917
+ Create or replace one of a sandbox’s own variables or secrets. It overrides an organization entry of the same name. kind is required when creating. Setting secrets via this tool is allowed; prefer the Ghostdock CLI so values stay out of the conversation, and never put them in commands.
918
+
919
+ ```
920
+ ghostdock sandboxes env set <name> --sandbox-id <string> --value <string> [flags]
921
+ ```
922
+
923
+ | Argument | Description |
924
+ | --- | --- |
925
+ | `<name>` | Environment variable name, e.g. DATABASE_URL. Letters, digits and underscores only. Case-sensitive; stored exactly as provided. Required. |
926
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
927
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
928
+ | `--value <string>` | The value to store. A secret value can be replaced later but never read back. Required. |
929
+ | `--kind <string>` | Required when creating. Use "secret" for credentials; secret values can be replaced but never read back. Omit when updating to keep the existing kind. |
930
+ | `--comment <string>` | Optional note shown with the entry, e.g. what it is for. |
931
+ | `--restart` | When true and the sandbox is running, stop then start after saving so processes pick up the change. Default: sync only. |
932
+
933
+ MCP tool: `sandboxes_env_set`.
934
+
935
+ ### `ghostdock sandboxes files`
936
+
937
+ Files inside a sandbox.
938
+
939
+ ### `ghostdock sandboxes files list`
940
+
941
+ List the files in a sandbox directory (default /workspace).
942
+
943
+ ```
944
+ ghostdock sandboxes files list <sandbox-id> [flags]
945
+ ```
946
+
947
+ | Argument | Description |
948
+ | --- | --- |
949
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
950
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
951
+ | `--path <string>` | Directory to list. Absolute or relative to /. Defaults to /workspace. |
952
+
953
+ MCP tool: `sandboxes_files_list`.
954
+
955
+ ### `ghostdock sandboxes files read`
956
+
957
+ Read a file from a sandbox: utf8 text, or base64 for small binaries.
958
+
959
+ ```
960
+ ghostdock sandboxes files read <path> --sandbox-id <string> [flags]
961
+ ```
962
+
963
+ | Argument | Description |
964
+ | --- | --- |
965
+ | `<path>` | File path. Absolute or relative to / (for example /workspace/src/App.vue). Required. |
966
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
967
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
968
+
969
+ MCP tool: `sandboxes_files_read`.
970
+
971
+ ### `ghostdock sandboxes files upload`
972
+
973
+ Upload local files or directories to a sandbox using multipart form data.
974
+
975
+ ```
976
+ ghostdock sandboxes files upload <sandbox-id> [path] [flags]
977
+ ```
978
+
979
+ | Argument | Description |
980
+ | --- | --- |
981
+ | `<sandbox-id>` | Sandbox name or id. Required. |
982
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
983
+ | `--zip <value>` | Local ZIP file to upload. |
984
+ | `<path>` | File or directory to upload (additional paths are allowed). |
985
+
986
+ MCP tool: `sandboxes_files_upload`.
987
+
988
+ ### `ghostdock sandboxes list`
989
+
990
+ List the sandboxes of an organization, including whether each is ephemeral. Each has a name (e.g. quiet-harbor), unique in the organization, that every sandbox tool accepts as sandboxId.
991
+
992
+ ```
993
+ ghostdock sandboxes list [flags]
994
+ ```
995
+
996
+ | Argument | Description |
997
+ | --- | --- |
998
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
999
+
1000
+ MCP tool: `sandboxes_list`.
1001
+
1002
+ ### `ghostdock sandboxes mcps`
1003
+
1004
+ MCP endpoints a sandbox exposes.
1005
+
1006
+ ### `ghostdock sandboxes mcps create`
1007
+
1008
+ Expose an MCP server running in a sandbox. Idempotent by name.
1009
+
1010
+ ```
1011
+ ghostdock sandboxes mcps create <sandbox-id> --name <string> --port <integer> [flags]
1012
+ ```
1013
+
1014
+ | Argument | Description |
1015
+ | --- | --- |
1016
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1017
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1018
+ | `--name <string>` | Endpoint name, unique in the sandbox. Letters, digits, _ and -, starting with a letter. Required. |
1019
+ | `--port <integer>` | Port the MCP server listens on inside the sandbox. Required. |
1020
+ | `--path <string>` | HTTP path of the MCP endpoint. Default /mcp. |
1021
+ | `--auto-wake` | Start the sandbox when the endpoint is called while it is stopped. Default false. |
1022
+
1023
+ MCP tool: `sandboxes_mcps_create`.
1024
+
1025
+ ### `ghostdock sandboxes mcps delete`
1026
+
1027
+ Delete an MCP endpoint of a sandbox.
1028
+
1029
+ ```
1030
+ ghostdock sandboxes mcps delete <mcp-id>
1031
+ ```
1032
+
1033
+ | Argument | Description |
1034
+ | --- | --- |
1035
+ | `<mcp-id>` | MCP endpoint id, from sandboxes mcps list or sandboxes mcps create. Required. |
1036
+
1037
+ MCP tool: `sandboxes_mcps_delete`.
1038
+
1039
+ ### `ghostdock sandboxes mcps list`
1040
+
1041
+ List the MCP endpoints a sandbox exposes (name, port, path, autoWake).
1042
+
1043
+ ```
1044
+ ghostdock sandboxes mcps list <sandbox-id> [flags]
1045
+ ```
1046
+
1047
+ | Argument | Description |
1048
+ | --- | --- |
1049
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1050
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1051
+
1052
+ MCP tool: `sandboxes_mcps_list`.
1053
+
1054
+ ### `ghostdock sandboxes mcps update`
1055
+
1056
+ Change an MCP endpoint’s name, port, path or autoWake setting.
1057
+
1058
+ ```
1059
+ ghostdock sandboxes mcps update <mcp-id> [flags]
1060
+ ```
1061
+
1062
+ | Argument | Description |
1063
+ | --- | --- |
1064
+ | `<mcp-id>` | MCP endpoint id, from sandboxes mcps list or sandboxes mcps create. Required. |
1065
+ | `--name <string>` | New endpoint name. Omit to keep it. |
1066
+ | `--port <integer>` | New port inside the sandbox. Omit to keep it. |
1067
+ | `--path <string>` | New HTTP path. Omit to keep it. |
1068
+ | `--auto-wake` | Start the sandbox when the endpoint is called while it is stopped. Omit to keep it. |
1069
+
1070
+ MCP tool: `sandboxes_mcps_update`.
1071
+
1072
+ ### `ghostdock sandboxes resize`
1073
+
1074
+ Change a sandbox’s CPU and/or memory. While running only increases are allowed; stop it first to decrease (this tool does not stop it). Disk: sandboxes resize-disk.
1075
+
1076
+ ```
1077
+ ghostdock sandboxes resize <sandbox-id> [flags]
1078
+ ```
1079
+
1080
+ | Argument | Description |
1081
+ | --- | --- |
1082
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1083
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1084
+ | `--cpu <number>` | Number of CPUs. |
1085
+ | `--memory-gib <number>` | Memory in GiB. |
1086
+
1087
+ MCP tool: `sandboxes_resize`.
1088
+
1089
+ ### `ghostdock sandboxes resize-disk`
1090
+
1091
+ Grow a sandbox’s disk. The sandbox must be stopped first (this tool does not stop it). Disk only grows, never shrinks.
1092
+
1093
+ ```
1094
+ ghostdock sandboxes resize-disk <sandbox-id> --disk-gib <number> [flags]
1095
+ ```
1096
+
1097
+ | Argument | Description |
1098
+ | --- | --- |
1099
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1100
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1101
+ | `--disk-gib <number>` | New total disk size in GiB; must be larger than the current size. Required. |
1102
+
1103
+ MCP tool: `sandboxes_resize_disk`.
1104
+
1105
+ ### `ghostdock sandboxes set-boot`
1106
+
1107
+ Register a command that starts now and again after every restart. For example bun dev. On Compose it runs after the stack; on a Dockerfile it replaces the image CMD. Snapshots cannot register one. Read the sandbox-boot skill (`ghostdock skills get sandbox-boot`).
1108
+
1109
+ ```
1110
+ ghostdock sandboxes set-boot <sandbox-id> --command <string> [flags]
1111
+ ```
1112
+
1113
+ | Argument | Description |
1114
+ | --- | --- |
1115
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1116
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1117
+ | `--command <string>` | Command to start, e.g. bun dev. Required. |
1118
+ | `--cwd <string>` | Directory to run it in. Default /. |
1119
+ | `--start` | Also start it now, not only after restarts. Default true. |
1120
+
1121
+ MCP tool: `sandboxes_set_boot`.
1122
+
1123
+ ### `ghostdock sandboxes shells`
1124
+
1125
+ Shell sessions that keep cwd and environment between commands.
1126
+
1127
+ ### `ghostdock sandboxes shells close`
1128
+
1129
+ Close a shell session.
1130
+
1131
+ ```
1132
+ ghostdock sandboxes shells close <session-id> --sandbox-id <string> [flags]
1133
+ ```
1134
+
1135
+ | Argument | Description |
1136
+ | --- | --- |
1137
+ | `<session-id>` | Session id from sandboxes shells create. Required. |
1138
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1139
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1140
+
1141
+ MCP tool: `sandboxes_shells_close`.
1142
+
1143
+ ### `ghostdock sandboxes shells create`
1144
+
1145
+ Open a shell session that keeps cwd and environment between commands. Starts the sandbox when allowed; the session ends at idle-stop.
1146
+
1147
+ ```
1148
+ ghostdock sandboxes shells create <sandbox-id> [flags]
1149
+ ```
1150
+
1151
+ | Argument | Description |
1152
+ | --- | --- |
1153
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1154
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1155
+ | `--session-id <string>` | Id for the new session: a slug; user-cmd, image-cmd and compose are reserved. Omit to generate one. |
1156
+
1157
+ MCP tool: `sandboxes_shells_create`.
1158
+
1159
+ ### `ghostdock sandboxes ssh`
1160
+
1161
+ SSH access to a sandbox.
1162
+
1163
+ ### `ghostdock sandboxes ssh get`
1164
+
1165
+ Get temporary SSH access to a sandbox (command and token, 60 minutes). Starts the sandbox when needed. Idle-stop still applies, independent of the token.
1166
+
1167
+ ```
1168
+ ghostdock sandboxes ssh get <sandbox-id> [flags]
1169
+ ```
1170
+
1171
+ | Argument | Description |
1172
+ | --- | --- |
1173
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1174
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1175
+
1176
+ MCP tool: `sandboxes_ssh_get`.
1177
+
1178
+ ### `ghostdock sandboxes ssh revoke`
1179
+
1180
+ Revoke a sandbox’s active SSH access.
1181
+
1182
+ ```
1183
+ ghostdock sandboxes ssh revoke <sandbox-id> [flags]
1184
+ ```
1185
+
1186
+ | Argument | Description |
1187
+ | --- | --- |
1188
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1189
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1190
+
1191
+ MCP tool: `sandboxes_ssh_revoke`.
1192
+
1193
+ ### `ghostdock sandboxes status`
1194
+
1195
+ Get a sandbox’s status and lifecycle deadlines without waking it. Returns idleStopsAt, deletesAt and `boot` (the last start: sandbox and container times in ms) and does not reset idle activity.
1196
+
1197
+ ```
1198
+ ghostdock sandboxes status <sandbox-id> [flags]
1199
+ ```
1200
+
1201
+ | Argument | Description |
1202
+ | --- | --- |
1203
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1204
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1205
+
1206
+ MCP tool: `sandboxes_status`.
1207
+
1208
+ ### `ghostdock sandboxes stop`
1209
+
1210
+ Stop a running sandbox without deleting its files.
1211
+
1212
+ ```
1213
+ ghostdock sandboxes stop <sandbox-id> [flags]
1214
+ ```
1215
+
1216
+ | Argument | Description |
1217
+ | --- | --- |
1218
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1219
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1220
+
1221
+ MCP tool: `sandboxes_stop`.
1222
+
1223
+ ### `ghostdock sandboxes tools`
1224
+
1225
+ Tools of the MCP servers inside a sandbox.
1226
+
1227
+ ### `ghostdock sandboxes tools call`
1228
+
1229
+ Call a tool on an MCP server inside a sandbox. Wakes a stopped sandbox when the endpoint has autoWake.
1230
+
1231
+ ```
1232
+ ghostdock sandboxes tools call <name> --sandbox-id <string> --arguments <object> [flags]
1233
+ ```
1234
+
1235
+ | Argument | Description |
1236
+ | --- | --- |
1237
+ | `<name>` | Tool name, from sandboxes tools list. Required. |
1238
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1239
+ | `--sandbox-id <string>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1240
+ | `--arguments <object>` | Tool arguments as a JSON object. (JSON object) Required. |
1241
+ | `--mcp-name <string>` | MCP endpoint to call. Needed when several endpoints expose the same tool name. |
1242
+
1243
+ MCP tool: `sandboxes_tools_call`.
1244
+
1245
+ ### `ghostdock sandboxes tools list`
1246
+
1247
+ List the tools of the MCP servers a sandbox exposes. A server that cannot be reached is reported in errors; the others are still listed.
1248
+
1249
+ ```
1250
+ ghostdock sandboxes tools list <sandbox-id> [flags]
1251
+ ```
1252
+
1253
+ | Argument | Description |
1254
+ | --- | --- |
1255
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1256
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1257
+ | `--mcp-name <string>` | Only list the tools of this MCP endpoint. |
1258
+
1259
+ MCP tool: `sandboxes_tools_list`.
1260
+
1261
+ ### `ghostdock sandboxes update`
1262
+
1263
+ Change a sandbox’s display name, idle-stop or auto-delete interval. Omit a field to keep it; null resets it to the platform default.
1264
+
1265
+ ```
1266
+ ghostdock sandboxes update <sandbox-id> [flags]
1267
+ ```
1268
+
1269
+ | Argument | Description |
1270
+ | --- | --- |
1271
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1272
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1273
+ | `--display-name <string>` | New display name. Null clears it; omit to keep it. |
1274
+ | `--auto-stop-interval-minutes <number>` | Minutes of inactivity before the platform worker idle-stops the sandbox. -1 always on. 0 is rejected. Null resets to the platform default. Provider-native timers are optional backup. |
1275
+ | `--auto-delete-interval-minutes <number>` | Minutes the sandbox stays stopped before the record is deleted. 0 deletes it when it stops. -1 keeps it. Null resets to the platform default. Provider-native timers are optional backup. |
1276
+
1277
+ MCP tool: `sandboxes_update`.
1278
+
1279
+ ### `ghostdock sandboxes urls`
1280
+
1281
+ URLs that expose sandbox ports.
1282
+
1283
+ ### `ghostdock sandboxes urls create`
1284
+
1285
+ Expose a sandbox port as a URL. Idempotent by port: when the sandbox already has a URL on that port, it is returned unchanged (autoWake, public and title are not applied); use sandboxes urls update to change it. HTTP defaults to private with no wake-on-visit; TCP URLs use TLS (not HTTP) and are always public — for a private port use sandboxes ssh get and an SSH forward. Read the sandboxes skill (`ghostdock skills get sandboxes`) for TCP clients.
1286
+
1287
+ ```
1288
+ ghostdock sandboxes urls create <sandbox-id> --port <integer> [flags]
1289
+ ```
1290
+
1291
+ | Argument | Description |
1292
+ | --- | --- |
1293
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1294
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1295
+ | `--port <integer>` | Port inside the sandbox to expose. Required. |
1296
+ | `--protocol <string>` | "http" (default) or "tcp". TCP URLs use TLS and are always public. |
1297
+ | `--auto-wake` | Start the sandbox when the URL is visited while it is stopped. Default false. |
1298
+ | `--public` | Reachable without signing in. Default false; TCP URLs are always public. |
1299
+ | `--title <string>` | Name shown for the URL, up to 40 characters. A titled HTTP URL gets its own button on the sandbox card; TCP titles are shown in URL lists. Untitled HTTP URLs are listed under "Open URL". |
1300
+
1301
+ MCP tool: `sandboxes_urls_create`.
1302
+
1303
+ ### `ghostdock sandboxes urls delete`
1304
+
1305
+ Delete a sandbox URL.
1306
+
1307
+ ```
1308
+ ghostdock sandboxes urls delete <url-id>
1309
+ ```
1310
+
1311
+ | Argument | Description |
1312
+ | --- | --- |
1313
+ | `<url-id>` | Sandbox URL id, from sandboxes urls list or sandboxes urls create. Required. |
1314
+
1315
+ MCP tool: `sandboxes_urls_delete`.
1316
+
1317
+ ### `ghostdock sandboxes urls list`
1318
+
1319
+ List the URLs that expose a sandbox’s ports, with protocol, access and title. A titled URL (for example `Desktop`, the desktop image’s desktop in a browser) gets its own button in the app.
1320
+
1321
+ ```
1322
+ ghostdock sandboxes urls list <sandbox-id> [flags]
1323
+ ```
1324
+
1325
+ | Argument | Description |
1326
+ | --- | --- |
1327
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1328
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1329
+
1330
+ MCP tool: `sandboxes_urls_list`.
1331
+
1332
+ ### `ghostdock sandboxes urls update`
1333
+
1334
+ Change a sandbox URL’s port, protocol, autoWake, public setting or title. TCP cannot be private.
1335
+
1336
+ ```
1337
+ ghostdock sandboxes urls update <url-id> [flags]
1338
+ ```
1339
+
1340
+ | Argument | Description |
1341
+ | --- | --- |
1342
+ | `<url-id>` | Sandbox URL id, from sandboxes urls list or sandboxes urls create. Required. |
1343
+ | `--port <integer>` | New port inside the sandbox. Omit to keep it. |
1344
+ | `--protocol <string>` | "http" or "tcp". Omit to keep the current protocol. |
1345
+ | `--auto-wake` | Start the sandbox when the URL is visited while it is stopped. Omit to keep it. |
1346
+ | `--public` | Reachable without signing in. Omit to keep it; TCP cannot be made private. |
1347
+ | `--title <string>` | Name shown for the URL, up to 40 characters. A titled HTTP URL gets its own button on the sandbox card; TCP titles are shown in URL lists. Untitled HTTP URLs are listed under "Open URL". Omit to keep it; null removes it. |
1348
+
1349
+ MCP tool: `sandboxes_urls_update`.
1350
+
1351
+ ### `ghostdock sandboxes wake`
1352
+
1353
+ Start a stopped sandbox, or reset the idle-stop countdown of a running one. Returns status, idleStopsAt / deletesAt, and `boot` (sandbox and container start times in ms; null when it was already running).
1354
+
1355
+ ```
1356
+ ghostdock sandboxes wake <sandbox-id> [flags]
1357
+ ```
1358
+
1359
+ | Argument | Description |
1360
+ | --- | --- |
1361
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1362
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1363
+
1364
+ MCP tool: `sandboxes_wake`.
1365
+
1366
+ ## `ghostdock sites`
1367
+
1368
+ Static sites on the CDN.
1369
+
1370
+ ### `ghostdock sites publish`
1371
+
1372
+ Publish a local directory or ZIP to the CDN.
1373
+
1374
+ ```
1375
+ ghostdock sites publish [path] [flags]
1376
+ ```
1377
+
1378
+ | Argument | Description |
1379
+ | --- | --- |
1380
+ | `--org <value>` | Organization id or slug, from `ghostdock organizations list` (default: GHOSTDOCK_ORG, then `ghostdock organizations use`). |
1381
+ | `--display-name <value>` | Optional site display name. |
1382
+ | `--zip <value>` | Local ZIP file to publish. |
1383
+ | `<path>` | File or directory to publish (additional paths are allowed). |
1384
+
1385
+ MCP tool: `sites_publish`.
1386
+
1387
+ ### `ghostdock sites unpublish`
1388
+
1389
+ Take a published static site offline.
1390
+
1391
+ ```
1392
+ ghostdock sites unpublish <site-id> [flags]
1393
+ ```
1394
+
1395
+ | Argument | Description |
1396
+ | --- | --- |
1397
+ | `<site-id>` | Site id: the slug in the public URL, as returned by sites publish or apps list. Required. |
1398
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1399
+
1400
+ MCP tool: `sites_unpublish`.
1401
+
1402
+ ## `ghostdock skills`
1403
+
1404
+ List and read Agent Skills (same catalog as MCP skill://index.json).
1405
+
1406
+ ### `ghostdock skills get`
1407
+
1408
+ Print one SKILL.md (URI from the discovery index, or a skill name).
1409
+
1410
+ ```
1411
+ ghostdock skills get <uri>
1412
+ ```
1413
+
1414
+ | Argument | Description |
1415
+ | --- | --- |
1416
+ | `<uri>` | skill:// URI, org/name, or skill name. Required. |
1417
+
1418
+ MCP tool: `skills_get`.
1419
+
1420
+ ### `ghostdock skills list`
1421
+
1422
+ List the Agent Skills discovery index.
1423
+
1424
+ ```
1425
+ ghostdock skills list
1426
+ ```
1427
+
1428
+ MCP tool: `skills_list`.
1429
+
1430
+ ## `ghostdock snapshots`
1431
+
1432
+ Sandbox snapshots.
1433
+
1434
+ ### `ghostdock snapshots create`
1435
+
1436
+ Save a sandbox’s filesystem as a reusable organization snapshot. The sandbox must be stopped, unless stopAndResume. Captures its URLs and environment into a manifest (secrets as required, without values). Waits up to ~120 seconds; if still pending it returns timedOut, then poll snapshots get. Setting secret values here is allowed; prefer the Ghostdock CLI so they stay out of the conversation.
1437
+
1438
+ ```
1439
+ ghostdock snapshots create <sandbox-id> --name <string> [flags]
1440
+ ```
1441
+
1442
+ | Argument | Description |
1443
+ | --- | --- |
1444
+ | `<sandbox-id>` | Sandbox name (e.g. quiet-harbor) or id, from sandboxes list or sandboxes create. Names are unique within the organization. Required. |
1445
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1446
+ | `--name <string>` | Snapshot name, unique in the organization. Required. |
1447
+ | `--stop-and-resume` | When the sandbox is running: stop it, snapshot, then start it again. Without this it must already be stopped. |
1448
+ | `--include-secret-values <array>` | Names of sandbox-local secrets whose values to embed in the snapshot. Organization secrets cannot be copied. (JSON array) |
1449
+ | `--manifest <object>` | Replaces the captured URLs and environment entirely (no merge). An omitted ephemeral is copied from the sandbox. Secret values are stored encrypted. (JSON object) |
1450
+
1451
+ MCP tool: `snapshots_create`.
1452
+
1453
+ ### `ghostdock snapshots delete`
1454
+
1455
+ Permanently delete an organization snapshot (provider artifact and record).
1456
+
1457
+ ```
1458
+ ghostdock snapshots delete <snapshot-id> [flags]
1459
+ ```
1460
+
1461
+ | Argument | Description |
1462
+ | --- | --- |
1463
+ | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1464
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1465
+
1466
+ MCP tool: `snapshots_delete`.
1467
+
1468
+ ### `ghostdock snapshots get`
1469
+
1470
+ Get one snapshot with its manifest and required environment, URLs and MCPs. Returns a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps. Poll it after snapshots create while status is pending.
1471
+
1472
+ ```
1473
+ ghostdock snapshots get <snapshot-id> [flags]
1474
+ ```
1475
+
1476
+ | Argument | Description |
1477
+ | --- | --- |
1478
+ | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1479
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1480
+
1481
+ MCP tool: `snapshots_get`.
1482
+
1483
+ ### `ghostdock snapshots list`
1484
+
1485
+ List the snapshots an organization can boot sandboxes from. Each item has status (pending, active, error), the provider that holds it (sandboxProviderId; boot it there), sandboxCount, and a redacted manifest with requiredEnvironment / requiredUrls / requiredMcps.
1486
+
1487
+ ```
1488
+ ghostdock snapshots list [flags]
1489
+ ```
1490
+
1491
+ | Argument | Description |
1492
+ | --- | --- |
1493
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1494
+
1495
+ MCP tool: `snapshots_list`.
1496
+
1497
+ ### `ghostdock snapshots update-manifest`
1498
+
1499
+ Replace a snapshot’s manifest (URLs, environment, MCPs). Does not change the snapshot itself. Secret values in the body are stored encrypted; the response is redacted. Setting secret values here is allowed; prefer the Ghostdock CLI so they stay out of the conversation.
1500
+
1501
+ ```
1502
+ ghostdock snapshots update-manifest <snapshot-id> --manifest <object> [flags]
1503
+ ```
1504
+
1505
+ | Argument | Description |
1506
+ | --- | --- |
1507
+ | `<snapshot-id>` | Snapshot id from snapshots list (the provider snapshot name) or its database id. Required. |
1508
+ | `--org <string>` | Organization id or slug, from organizations list. Ids survive renames; slugs change when the organization is renamed. Defaults to GHOSTDOCK_ORG, then `organizations use`. |
1509
+ | `--manifest <object>` | The new manifest; replaces the stored one. An omitted ephemeral keeps the stored value. Secret values are stored encrypted. (JSON object) Required. |
1510
+
1511
+ MCP tool: `snapshots_update_manifest`.
1512
+
1513
+ ## `ghostdock tools`
1514
+
1515
+ List available agent tools.
1516
+
1517
+ ```
1518
+ ghostdock tools
1519
+ ```
1520
+
1521
+ ## `ghostdock whoami`
1522
+
1523
+ Show the account this CLI is currently authenticated as.
1524
+
1525
+ ```
1526
+ ghostdock whoami
1527
+ ```