Skip to main content

Installation

GigaLoom 0.7 is the first stable Native Agent Gateway release and builds on the 0.6 breaking clean cut. It supports Python 3.11–3.14. Install at least one provider-native CLI separately and complete that provider's own authentication flow.

Managed provider terminals additionally require a POSIX host and a discoverable tmux whose tmux -V output can be probed. Install tmux with the operating system package manager on Linux or macOS. Windows and POSIX systems without a usable tmux retain provider-native passthrough; GigaLoom does not substitute an emulated terminal UI.

Install GigaLoom

With uv:

uv tool install 'gigaloom==0.9.1'

Or in an isolated Python environment:

python -m pip install 'gigaloom==0.9.1'

Confirm the installed artifact:

giga --version
giga doctor

doctor reports capability and configuration status without reading prompt content or contacting providers.

Upgrade to 0.8

An exact uv tool install constraint remains pinned during uv tool upgrade. To move an existing prerelease installation to 0.8, recreate the tool environment with the new exact requirement:

uv tool install --force 'gigaloom==0.9.1'

If the optional gateway extra was previously installed, retain it explicitly:

uv tool install --force 'gigaloom[gpt2giga]==0.9.1'

Before upgrading, stop every GigaLoom process and back up ~/.gigaloom, the historical ~/.gpt2giga/harness root when it exists, and the .giga/ directory of each registered project.

Namespace and command migration

The PyPI project name changed before the first standalone target release. Remove the historical distribution and install gigaloom; do not delete the existing state directories:

uv tool uninstall gpt2giga-harness
uv tool install 'gigaloom==0.9.1'

Update extensions, imports, scripts, and frontend consumers as one clean cut:

Historical surface0.6 surface
PyPI gpt2giga-harnessPyPI gigaloom
Python gpt2giga_harness.*Python gigaloom.*
command gpt2giga-harnesscommand giga
entry-point group gpt2giga.harnessesgigaloom.harness_adapters.v1
npm @gpt2giga/harness-cockpit-v2npm @gigaloom/web
top-level UI aliases such as /work and /workflowscanonical /web/** routes

External adapters must be republished against the new entry-point group; there is no runtime bridge for the old group. The standalone distribution exposes no legacy Python namespace, command, entry-point group, npm package, or Web route alias.

Migrate local state

Before the first 0.6 startup, stop existing Harness processes, unset the removed GPT2GIGA_HARNESS_DATA_DIR override, and run:

giga state migrate --json

The same preflight runs automatically before normal commands that use the default root. Old-only state is backed up under ~/.gigaloom-migration, staged, verified, and atomically promoted to ~/.gigaloom. The legacy root and every project .giga/ remain untouched. If both roots already exist without a completed migration journal, GigaLoom stops and prints explicit mv commands; it never guesses which root is authoritative. Use giga state rollback to restore the verified backup to the legacy root while preserving ~/.gigaloom for diagnosis.

Set GIGALOOM_DATA_DIR to use a custom canonical root. A custom root does not trigger migration of the two default roots.

Upgrade 0.6 state for the Native Agent Gateway

The 0.6→0.7 state change is a separate explicit offline migration. Stop the Web server, workers, native sessions, and every other process using the data directory, then choose a backup path outside that directory:

giga state upgrade --backup ../gigaloom-before-0.7.zip --json

The command first creates and verifies the complete state archive. It then runs the fixed project_catalog_v1 and textual_preferences_retirement_v1 steps in that order. Legacy session project bindings become catalog bindings. Historical Textual-only preferences are omitted instead of being copied into browser preferences. Project repositories, .giga/ directories, provider homes, credentials, prompts, and provider output are not read or changed.

The migration is resumable after every durable boundary and emits a content-free receipt under the active state migrations/ directory. Keep the archive and its adjacent private migration support directory together until the candidate is accepted. Re-running the exact command with the same backup path returns the same verified receipt.

To recover, stop GigaLoom and atomically restore the pre-upgrade archive:

giga state verify ../gigaloom-before-0.7.zip --json
giga state restore ../gigaloom-before-0.7.zip --replace --json

Restore the archive before reinstalling 0.6. Reverse schema migration and merging old and new state trees are not supported.

Roll back an upgrade

Before state migration, stop GigaLoom and reinstall the exact previously used version. After migration has started, keep 0.6 installed long enough to restore the verified backup first:

giga state rollback
uv tool install --force --prerelease allow 'gigaloom==0.5.1a2'

giga state rollback restores the historical root from ~/.gigaloom-migration and preserves ~/.gigaloom for diagnosis. Do not point an older executable at the canonical 0.6 root, merge the two roots manually, or delete either root until the rollback is verified. Project .giga/ state and provider-owned homes are not migrated or rolled back by this command.

Package downgrade is separate from release rollback: published registry versions and their v... tags are immutable and are never overwritten or moved.

Optional gateway preset

The base package does not require gpt2giga. Install the optional extra only for Direct Chat or the legacy local-gateway preset:

uv tool install 'gigaloom[gpt2giga]==0.9.1'

This installs the supported stable gateway range; the committed development and release lock resolves one exact public artifact. It does not require a gateway repository, sibling checkout, editable dependency, or submodule. See Gateway integration.

Consume the Web package without Python

Services that host the verified static Cockpit assets independently can install the matching npm release:

npm install --save-exact @gigaloom/web@0.9.1

Mount the package's dist/ directory at /web/assets/ and serve dist/index.html for operator routes. Preserve hashed filenames and verify the included content manifest; the package is not a React component library and does not include the Python server. The Python wheel embeds the same Web bytes.

Remove

uv tool uninstall gigaloom

Package removal does not delete user state under ~/.gigaloom. Back up or remove that state separately after reading Operations.