TWG CLI is currently in beta. Commands and documentation may change between releases.
The public Teamwork Graph CLI changelog source is:
https://developer.atlassian.com/cloud/twg-cli/changelog.md
This page mirrors the same release notes so the version headings appear in the page navigation.
twg login now uses OAuth by default in installer paths too. The public curl
installer (bin/install-template.sh) and Windows installer
(bin/install-template.ps1) no longer forward --from-clipboard to the
post-install login step. PAT remains available as a hidden dev escape hatch via
twg login --pat. --force always re-authenticates with the default flow
(OAuth) unless --pat is also passed. Non-OAuth-capable contexts (non-TTY, the
TWG_TOKEN+TWG_USER env shortcut, twg env auth, and existing PAT
auth.conf users not passing --force) continue to use token flow.twg setup OAuth login; keep the setup profile prompt only for the hidden PAT setup flow.twg login now uses OAuth by default, --force consistently starts a fresh auth flow, --no-browser works across login prompts, and 401/403 failures now show mode-aware remediation with a stable AUTH_EXPIRED agent envelope and exit code 77. Bitbucket token setup remains token-based and is prompted when needed.TWG_AGENT_DEFAULTS=1 lets installed skills call twg directly with agent-friendly defaults, and twg doctor now highlights duplicate twg binaries on PATH.pr-tree is now count-only by default, supports --limited-fetch, and bounds zero-flag merged rollups to the last 30 days. Jira issue-key resolution, Jira rich-text validation, Talent position lookup/rendering, JSM linked repositories, and Teams ARI lookups were also improved.twg login is OAuth-first. The old --oauth flag has been removed because OAuth is now the default path. Existing classic token auth still works for installer, clipboard, non-TTY, environment-token, and existing auth.conf flows.TWG_OAUTH_CLIENT_ID, TWG_OAUTH_AUTH_BASE_URL, TWG_OAUTH_SCOPE) were removed; endpoints and client ID now come from environment config.twg api to every build profile, so signed-in users can make
authenticated Atlassian REST and GraphQL calls with the CLI's saved
credentials, product shortcuts, and structured JSON/JSONL output.twg admin available in the external CLI with Admin API key onboarding,
org switching, user lifecycle commands, and lifecycle capability checks.twg confluence ... --help-body-format so rich-body commands can show
supported plain text, Markdown, and HTML input formats directly from the CLI.TWG CLI 1.0.0 brings the 0.9.x release line together as a stable baseline for agent-oriented Atlassian workflows, with broader Jira and Confluence coverage, more reliable installs and updates, improved authentication, and better command discoverability.
content surface that lets agents work with pages,
blog posts, whiteboards, databases, folders, comments, labels, permissions,
tasks, versions, history, attachments, and reactions through a more uniform
command shape.twg confluence content surface as the preferred agent-friendly
entry point for content lifecycle operations.attachments upload/download.comments list/get/create/reply/update/resolve/reopen/delete.labels list/add/remove.permissions list/add/remove.tasks list/get/complete/reopen.versions and history list/get/restore.reactions get/add/remove.--type optional for many ID-only confluence content commands by
adding dispatcher probes and structured unsupported-operation errors.confluence content create over the agentic content API for pages,
live docs, blog posts, whiteboards, databases, embeds, smart links, folders,
and slides.twg confluence space verbs to align with the new content surface,
while preserving compatibility aliases where needed.twg jira workitem bulk-get and twg jira workitem bulk-transition,
including a safe dry-run default for bulk transitions.twg jira workitem get reads by using REST search batching
when possible and falling back to per-issue reads when needed.jira space.twg bb inbox for a bounded current-user PR inbox with reviewer
and author filters plus compact task, comment, and check signals.twg bb pipeline latest-failure to locate the newest failed
pipeline and hydrate failed step log tails in one bounded flow.twg loom get.twg feedback Jira issue creation through the Jira REST gateway with
clearer authentication and timeout guidance.doctor/version commands and reports
installed TWG skill freshness with repair guidance.twg update replacement flows, records install metadata, and
preserves logs when background replacement fails.SHA256SUMS manifests.b48bdbd: Add twg access for product, site, org, test-like, configured-site, Bitbucket, and Rovo access inventory checks.
91c25e2: Add a BUILD_ENABLE_CONFLUENCE_CONTENT_TOOLS build flag so release-style setups
can opt into the agentic Confluence content tools bundle. The bundle currently
exposes a confluence content get preview backed by Confluence's
/wiki/api/v2/agentic/content/{id} (and ?content_url=) endpoint, with
summary, outline, and full detail levels; future agentic create/update/delete
commands will land behind the same flag so the surface graduates as a unit.
The flag defaults to on in dev/internal builds and off in release/external
builds; invalid values warn and fall back to the build-profile default. Set
BUILD_ENABLE_CONFLUENCE_CONTENT_TOOLS=1 at build time (e.g.
BUILD_ENABLE_CONFLUENCE_CONTENT_TOOLS=1 npm run setup) to opt a release-style
build into the surface.
Coordinate the default flip with the monolith's agentic_content_tools Statsig
gate so client-side availability tracks server-side availability.
2f94fe9: Help discovery: typed Guards: and Synonyms: sections, plus ranking fixes
Adds a Guards: heading and an inline Synonyms: line that authors can drop into any
command's addHelpText("after", …) block. The catalog parses both into typed
HelpCommandRecord.guards and HelpCommandRecord.synonyms fields, the index persists
them, and flexsearch slots them into the existing weight ladder
(path: 12, cmd: 10, synonyms: 9, alias: 8, meta: 5, desc: 3, guards: 2, args: 2, opts: 2, input: 2):
synonyms — weight 9, just above alias: 8, so curated semantic neighbours such
as cmdb → assets or calendar → meetings win against incidental description
prose and even against legacy aliases when the alias is the wrong target.guards — weight 2, low enough to act as a tie-breaker for sibling-overlap commands
without inventing matches on unrelated commands.As part of the content rollout, pr-tree and workitem-tree had their existing
free-form prose footers converted to typed Guards: blocks. Those footers were
previously not indexed at all (the catalog only captured Examples: blocks), so the
conversion is also a strict gain in search coverage for those two commands.
Two complementary ranking fixes ship in the same change so existing commands benefit even without authored content:
a, i, o, …) at the tokenize boundary so
noise tokens stop prefix-matching every assets * / auth * path.guards and synonyms are additive optional fields, so the help-record and help-index
schema versions stay at 1. Cache invalidation on upgrade is carried by
programSignature(), which now hashes per-command rendered help-text length and so
changes whenever a Guards/Synonyms block is added or removed.
Authored content covers the full multi-surface ambiguity surface: meetings, docs,
videos, spaces, org-tree, pr-tree (existing prose footer converted),
workitem-tree (converted), assets, collaborators, recently-viewed,
notifications, pull-requests, context jira workitem, context user,
context confluence (page/space/blogpost/whiteboard), goals, projects,
focus-areas, talent, teams, jsm incident query, jsm alert query,
jsm post-incident-review query, confluence blog, confluence database,
confluence whiteboard, bitbucket search prs, and bitbucket default-reviewer.
Examples of fixed rankings (twg help <freeform> → top result):
find a persons meetings → meetings (was assets subtree)okr → goalspostmortem → jsm post-incident-review queryoutage incident → jsm incident querymonitoring page alert → jsm alert queryissue context → context jira workitemuser perimeter → context userteam membership → teamsopen positions → talentblog post announcement → confluence blogwhiteboard diagram → confluence whiteboarddefault reviewer → bitbucket pull-requests default-reviewerfind pr by text → bitbucket search prsatlas project → projectsfocus area initiative → focus-areascmdb → assetswho reports to whom → org-tree15a40ce: Make twg work query count-first by default, add distinct entity counts for
validated sections, require --fetch items when callers need hydrated work item
rows, and guard unbounded item fetches with a 2000-relationship preflight limit.
--body-output-file option to Confluence page reads so body content can be saved to a file while JSON output stays metadata-focused.setup.ps1 installer; install.ps1 is now the canonical PowerShell installer URL for both public Bifrost and internal Statlas releases.twg workitem-tree with an issue-tree alias to summarize Jira work item activity by reporting tree with fast GraphStore Cypher-backed counts by default and guarded --full-fetch issue sample fetching.5087758: context: gracefully handle partial GraphQL responses; search snippet formatting
twg context user, twg context confluence <type>, and twg context jira workitem
now return whatever data the graph store did manage to fetch when one or
more relationship branches fail to load. The dropped branches are surfaced as
a brief warning on the v2 envelope's warnings field (and to stderr in text
mode) instead of throwing a hard
Unable to retrieve data: cannot route the request error.
twg search results no longer show multi-line raw content in snippet previews —
descriptions are now collapsed to a single readable line and dimmed for visual
consistency with other result metadata.
7f0e519: test(coverage): use real fixtures for confluence labels attachment and confluence labels custom-content
The static read coverage harness was passing a Confluence page ID to confluence labels attachment and a placeholder 0 to confluence labels custom-content. Both produced HTTP 404s, which the harness mis-classified as "token lacks Confluence scope" — masking the fact that both commands work correctly. The harness now discovers a real attachment and custom-content ID via CQL on each run, and the Confluence skip-matchers are reordered so genuine 404s can no longer be reported as scope failures.
142758c: fix(search): recover full results when AGG returns partial success with downstream errors
twg search query --assignee <user> (and other filtered searches) previously showed a warning that results were limited to Confluence and Jira. This was caused by two issues:
DOWNSTREAM_ERROR GraphQL error. graphql-request's default error policy treated this as a failure and threw away the usable data, triggering the Confluence/Jira-only fallback. Fixed by catching the ClientError directly in runAggSearch and recovering the data when response.data.search.results.edges is non-null, scoped strictly to the Rovo search path so other GraphQL callers are unaffected.--app were fetching entity types from all 55+ connected third-party apps and including them in the search, causing AGG to fan out to connectors that may fail. Third-party entities are now only included when explicitly requested via --app.5f2273e: Remove jsm conversation by-container query, jsm conversation workspace experience-config get, jsm conversation workspace related-experience-config get, and jsm automation task-agent query from the public CLI surface at the request of the upstream jsmChannels owners. Also hide jsm incident get from --help, the generated catalog, and the command-policy schema until the required read:incident:jira-service-management scope is available in the twg login granular-scope flow; the runner remains wired so existing scripts continue to work.
e189268: Add twg pr-tree with a pull-requests-tree alias to summarize pull request activity by reporting tree with fast GraphStore Cypher-backed counts, guarded full-fetch samples, and per-person direct examples.
This public changelog starts at 0.9.7. Earlier internal and pre-stable entries are omitted to keep release notes focused on currently relevant TWG CLI behavior.
Please use the latest stable installer for supported setup and update flows.
Rate this page: