HEDDLE

CLI reference

heddle push

Shipped
heddle push [OPTIONS] [REMOTE] [THREAD]

Push the source-authoritative history to a remote. One of the eight commands in the CLI that touches the network.

Output text (default) · json

A normal push writes refs/heads/ and refs/notes/heddle. --all-threads writes every refs/heads/ and refs/tags/ as well, plus the notes ref. JSON output lists changed refs in refs_written, which you can check against git ls-remote .

push is one of the commands with a declared exit-code contract, and the distinction it draws is the one an agent most needs: 75 means the remote was unreachable and the same call is safe to retry; 76 means the remote rejected the payload and retrying unchanged will fail identically. Do not loop on 76. See Exit codes.

--dry-run previews the push plan — target, thread/track ref, the state that would be published, force status — without pushing, moving refs, capturing work, running hooks, or contacting the server for anything beyond read and plan.

Arguments

[REMOTE] string optional
Heddle remote name, native repository path, or hosted address.
[THREAD] string optional
Thread to push; alias for --thread.

Flags

--thread <thread>, -t <thread>
Thread to push.
--state <state>, -s <state>
State to push. default: HEAD
--force, -f
Force push.
--all-threads
Push every thread. In Git Overlay, also include every local Git tag.
--dry-run
Preview the push plan without pushing, moving refs, capturing work, running hooks, or contacting the server beyond read/plan.
--insecure
Allow cleartext (non-TLS) connections to non-loopback hosts. Prefer enabling TLS; use this only for intentional lab/VPN testing.

Exit codes

Declared by this command's contract, verbatim. Anything not listed contracts only to 0 on success and an unspecified non-zero on failure. The full table and the retry rule — in short, 75 is the only code that is safe to retry.

0
ok
75
remote unreachable; safe to retry
76
remote rejected payload; do not retry without changing inputs
78
no upstream configured

Examples

Publish the current thread

bash$ heddle push# exit 75 → retry the same call. exit 76 → change the inputs or escalate.

See also