CLI Changelog
Latest version = 0.95.0
0.95.0
New Features
Delete an API key by name -
tessl api-key delete <name-or-id>accepts either the key name or its ID, matching the pattern already used elsewhere. Interactive selection still works when no argument is givenSkill removal guidance - asking to unpublish, archive or delete a skill now explains that skills are published inside a plugin and lists the three real removal paths, and
tessl skill --helpcarries the same tipUncollected file warnings in review -
tessl review runandtessl review fixnow name the skill files that were not sent to the reviewer, so content that scored low because it never reached the judge is visibleOut-of-workspace path warnings -
tessl scenario viewflags generated scenarios whose task or criteria reference a home-directory or absolute path, which can never score above zero because the grader only sees the workspace
Improvements
Credit warnings on stderr - credit warnings print to stderr instead of stdout, so they no longer sit inside a command's own output.
TESSL_CREDIT_WARNING_STREAMacceptsoff,stderrorstdoutto override the choiceUpgrade path in the agent credit footer - the out-of-credits and over-limit states now point at
/usage, where the balance and the upgrade link livePricing links - credit and upgrade calls to action point at
/pricingCredit checks on the MCP surface - the MCP server now runs the same credit preflight as the CLI, closing a path where a blocked organization could still spend credits
Score composition in review output - review results show how a score was composed, per judge, rather than only a final number
Organization default model for agent sessions -
tessl agentpicks up an organization's configured session model when no--modelflag and no persisted default are setReview hands off to fix - after a quality review,
tessl review runpoints attessl review fixas the next step when the review found something to act on. The MCPreview_viewtool carries the same signal as anextStepfieldFix runs stop at a reachable score - the default fix threshold drops from 100 to 90, so a run can finish early instead of burning every improve iteration on a target a review almost never hits. The MCP surface no longer holds its own defaults and reports the config the server resolved
Bug Fixes
Review scores render against the rubric's own scale instead of a hardcoded denominator of 3, so a 1 to 5 rubric no longer reports the wrong total
tessl skill review --jsoncarries the deprecation notice in its payload, and the post-apply hint points attessl review runinstead of the deprecated commandA logged-out global install of registry content is refused when the global context is managed by an organization policy, closing a path where logging out skipped the organization's managed requirements
tessl install -glabels the resolved policy scopeorg:instead of mislabeling itworkspace:Auto permission mode no longer fails at startup for organizations whose model catalog omits
gpt-5.4-mini. The classifier falls back to the resolved session modelReasoning models in the
gpt-5.6family route through the OpenAI Responses API, fixing a gateway 400 when a request carried both a function tool and a reasoning effortSkill inventory upload accepts
internalas a repository visibility, so GitHub Enterprise organization-internal repositories are no longer rejected
0.94.0
New Features
Credit usage meter -
tessl org usageshows your organization's plan, credits used against the allowance, and when the current window started. Pass--orgto name an organization,--jsonfor the raw credit account/usageand/costin the agent -/usageshows the same meter without leaving the session,/costshows what the session has cost in credits with the token counts underneath, and acredits: N leftsegment on the footer refreshes each turnCommands report what a run cost - every command that waits for a run prints the credits it consumed once billing settles, and
... viewcommands report the cost of the run they inspect. The figure comes from the server, so it matches what you are billedCredit guardrails on billable commands - a one-line notice when you are over your allowance but still allowed to proceed, and a hard stop with an upgrade link when you are not. Both are suppressed under
--jsonso structured output stays parseableScoped reviews - new repeatable
--pathflag ontessl change reviewrestricts the review to files matching a pathspec
Improvements
Security grades read Tessl's own levels -
tessl search,tessl tile infoand the security review output now render the Tessl security level and per-finding severity. A clean result reads "Passed", an unscanned one reads "N/A", low-severity findings group into their own section below higher severities, and an unrecognized level renders as-is instead of failing.--jsonkeeps the previous fields alongside the new onesEval fixtures are bounded to the run -
tessl eval runand publish-time evals now refuse scenario fixtures and packed symlinks that resolve outside the run's repository or scenarios boundary, so an eval can no longer archive files from elsewhere on the machine.tessl eval lintreports the same. Out-of-boundary directory fixtures and symlinks are opt-in viatessl eval run --allow-unsafe-fixture-paths, or--allow-unsafe-eval-fixture-pathsontessl skill publishandtessl plugin publish. A scenarioincludemust always resolve inside its own scenario, with no overrideA project's
.envcan no longer redirect the CLI's own state -TESSL_GLOBAL_DIR,TESSL_BINARY_BASE_URL,TESSL_AUTO_UPDATE_INTERVAL_MINUTESandTESSL_DISABLE_UPDATEare ignored when they come from a.envfile in the working directory. Values set in your shell are unaffectedWorkspace resolved from a plugin manifest - working inside a plugin directory that has
.tessl-plugin/plugin.jsonbut notessl.jsonno longer prompts for--workspace; the workspace is read from the plugin nameDeclared skills scanned as real files -
tessl inventory importnow scans skills declared intile.json/plugin.jsonthe same way it scans any otherSKILL.mdin the repository, so they carry their body and frontmatter instead of being recorded as bare references. Their names now come from frontmatter (or the containing directory) rather than being prefixed with the plugin name, and a declared skill whose file is missing from the scanned tree is no longer recorded at allworkspace_listreports what you can do - the MCP tool now returnsallowedActionsper workspace, so a caller can filter to the workspaces it has permission to act on before trying
Bug Fixes
Failing commands print one error line. Previously the same message appeared twice, with two different cross glyphs
tessl change verify --recursive --githubnow emits GitHub Actions annotations for every root. Warning-level findings from a recursive run previously only appeared in the raw job logOut-of-credits and other expected failures from the
review_run,review_fixanduninstallMCP tools are reported as errors rather than crashesThe MCP
workspace_list_memberstool explains that your role cannot view members, instead of failing genericallyA cached version entry dated in the future is treated as expired, so it can no longer suppress the update check indefinitely
The path-containment check no longer misreads directory names that begin with two dots, and anchors relative targets on the boundary root
0.93.0
New Features
Severity grading on review findings -
tessl change reviewnow grades every finding nit / minor / major / critical by default; pass--no-gradeto turn it offFinding attribution - each
tessl change reviewfinding names the reviewer skill that produced itExplicit review range - new
--headflag ontessl change reviewto review a specific commit range instead of the inferred onePublish-access filter - new
--has-publish-accessflag ontessl workspace listto show only workspaces you can publish toPlugin Creator in Tessl Agent - the agent now ships with the Plugin Creator skills for authoring plugins
Improvements
Symlink guard for MCP config - the CLI warns and asks for confirmation before writing MCP configuration through a symlink that points outside your project
Local-execution notice - installing a plugin that ships an MCP command which runs on your machine now tells you at install time
Global installs respect
--agent- the--agentscope is honored when installing context globallyCLAUDE_CONFIG_DIRsupport - installing global Claude Code context now honorsCLAUDE_CONFIG_DIRClearer permission prompt - the session-scope option in the agent permission prompt has a clearer label
Clearer MCP review tools -
review_run,review_view, andreview_fixdescribe what they do and what to expectKeys revoked on logout -
tessl logoutrevokes the device's LLM keys
Bug Fixes
Fixed concurrent auto-updates leaving behind a dangling symlink
Fixed a race when two installs ran at once by staging npm installer downloads
tessl change verifynow fetches the diff base itself in shallow and CI checkouts instead of failingInstall sync no longer fails when a skill entry is missing from the manifest
Search results now render when ranking data is unavailable
Review scores now use the rubric scale reported by the API instead of assuming a fixed scale
Removals
tessl context libraryand itsquery_library_docsMCP tool have been removed. They were deprecated and have no replacement.
0.92.0
New Features
Hooks in plugins - Plugins can now declare cross-agent hooks via
hooks/nativeHooksinplugin.json. See the plugin configuration docs.
Improvements
Signed release verification - CLI installation and self-update now verify against a cryptographically signed release manifest before extraction.
0.91.0
New Features
Agent-readiness report - run
/agent-readyin thetesslagent to scan your repository and surface what to improve.tessl launch resume- resume an interrupted or completed cloud launch run.Signed release verification - the installer verifies the release signature before installing.
Improvements
Agent works without native search tools - uses
fd/rgwhen available and falls back to a basic code implementation when they are not installed.Verify cache relocated - now stored at
~/.tessl/verify-cache, so cached results are shared across projects instead of living in each checkout.Auto-detect workspace -
tessl review run/review fixread the workspace fromtessl.jsoninstead of always prompting.tessl launch listnow shows the workspace and the run's creator.tessl eval listconsolidates injected context into a single column.Credit errors link to top-up - an out-of-credits error now points to the upgrade / top-up flow.
Explicit, persistent agent setup -
tessl initnow records selected agents intessl.jsonfor reproducible installs across machines. Re-runtessl initon an existing project to update the list.Clearer permission prompts - prompts are deduped per tool call, bash paths are classified by read/write/delete, external and sensitive-path actions route through the auto classifier, and auto-mode prompt wording is combined.
Changes
Separate
--agentand--modelflags - compound--agent <agent>:<model>tuples are now split into--agent <agent> --model <model>. The old form still works but is deprecated and warns.
Bug Fixes
Installer validates the remote release version before installing.
Generic hook command/args aligned to the
exec/shellforms.
0.90.0
Breaking Changes
tessl review <target>(withoutrun) no longer runs a review - it now shows thereviewcommand group's help instead. Usetessl review run <target>(ortessl review run quality <target>).
New Features
tessl review run quality/tessl review run security-tessl review runis now a subcommand group:quality(the default, unchanged behavior) scores a skill against a rubric, andsecurityruns a Snyk-powered security scan - replacing the standalonetessl security-reviewcommand.tessl review list,view, andretrynow work across both kinds from a single unified history, with a--fail-onflag mirroring--thresholdfor security scans.tessl review run <target>continues to work exactly as before - it's shorthand fortessl review run quality <target>.Clone skills from GitLab and Bitbucket sources - Skill installation and inventory scanning now support GitLab and Bitbucket repository sources, not just GitHub.
Bug Fixes
Fixed
tessl agentignoring a saved default model fromsettings.jsonon startup.tessl agent- Fixed session approval matching for external paths when multiple patterns are involved.
0.89.0
New Features
tessl agentout in Open Beta - It helps you build and optimize your software factory one workflow at a time.tessl changecommands to aid with automated code reviewstessl change risk- Assess PR/diff risk and decide whether human review is required.tessl change verify- Verify code against configured verifiers.tessl change review- Review the current diff with reviewer skills and emit structured review data.Use
tessl agentto set them up!
tessl launch skill- Run skills using your preferred agent in order to automate parts of your workflow with skills.tessl mcp proxy- Connect to MCP servers through an MCP gateway set-up in a workspace’s settings.
Improvements
Clearer error when
--skillcan't apply -tessl install --skill <name>now fails fast with an actionable message when given zero sources or more than one source, instead of silently installing nothing.Friendlier model-lock message on eval runs - Selecting a non-default model on a Free plan now produces a single, clear message explaining how to proceed, instead of a raw
403 Forbidden.
Bug Fixes
Fixed relative
file:sources (e.g.tessl install file:../my-source --global) failing to resolve; they now resolve against your current working directory as expected.Fixed a single unsupported entry in a plugin's
.mcp.jsonfailing the whole file at publish and install time; unsupported entries are now skipped and the rest of the plugin installs.
0.88.2
Bug Fixes
npm package - fixup README.md file
0.88.1
Bug Fixes
Global plugin MCP servers -
tessl install --globalnow writes a plugin's MCP server config to each agent's real user-level config.
0.88.0
New Features
Plugin MCP Servers - Plugins can now declare MCP servers in a bundled
.mcp.jsonat the package root.Publish Through Symlinks -
tessl skill publishandtessl plugin publishaccept an opt-in--resolve-symlinksflag that copies a symlink target's bytes into the published tarball (within a safe boundary), so authors can reuse files from elsewhere in the repo.
Improvements
Workspace Scoping for Reviews -
tessl review viewandtessl review retrynow accept--workspace/-w, and--lastresolves the most recent run within that workspace.Publish OIDC Warning - When publishing from GitHub Actions without an OIDC token permission, the CLI now warns instead of failing opaquely.
Bug Fixes
Fixed
tessl skill review --threshold 0incorrectly emitting a "Skill validation failed" error.
0.87.0
Breaking Changes
Skill review now requires a Tessl account. Both
tessl reviewand the oldertessl skill reviewnow require authentication: sign in withtessl login, or set aTESSL_TOKENAPI key in the environment for CI. Reviews run on Tessl's servers, so anonymous review runs are no longer supported.
Deprecations
tessl skill reviewis deprecated - usetessl reviewinstead.tessl review(aliastessl review run) is the replacement: an async, server-side review with companionview,list,retry, andfixcommands. The old command still runs for now but prints a deprecation warning on every run and will be removed in a future release. Replacetessl skill review <path>withtessl review <path>.
New Features
tessl reviewis now fully launched as an end-to-end workflow - review runs are first-class in the CLI withrunas the default subcommand, and companion commands to view, retry, and fix reviews directly from the terminal.Flexible reviewer selection - you can target a specific reviewer with
--review-pluginor use your workspace's default reviewer configuration.
Improvements
Richer review output for debugging and automation -
tessl review viewnow renders dynamic judges per run, and review JSON includes reviewer/plugin identity metadata.Clearer
tessl eval viewoutput - run labels are shown and scenarios are sorted for easier reading.More informative
tessl eval runstart output - pre-run context details are surfaced before execution.
Bug Fixes
Review command reliability fixes -
tessl review list,view, andretrynow resolve workspace names correctly, and--jsonwithout--workspacenow returns a clear error.Fixed completed scenario counts in multi-solution eval runs.
Fixed evaluator failures caused by repeated plugin installation arguments.
0.86.0
New Features
Customise the eval-scenarios run when publishing - added
--eval-scenarios <scenario-search-path>totessl plugin publish/tessl skill publish. The default is./evalsin the directory of the plugin being published.
Improvements
Default eval model is now DeepSeek v4 Flash.
tessl eval list --context-type- filter eval runs by the type of context injected into scenarios for the "with context" variant.Richer
tessl eval view- clearer variant labels, an injected-context block, scenario paths, and repo/plugin provenance.tessl eval runechoes the scenario search directory and count before starting.Commit-fixture uploads are grouped and deduped to remove some cases where redundant context was uploaded.
Install source policy: git-source allowlist, with denial messages that name the offending source.
You're prompted to accept pending invites before a personal org is created.
0.85.0
Breaking Changes
tessl eval run --agent is now single-valued - Previously
--agentwas repeatable and each value created a separate eval run. It now accepts a single agent; run the command once per agent to compare.Removed legacy eval-run context flags -
--variant,--context-ref, and--context-patternhave been removed fromtessl eval runin favour of the new--contextselection (see below).
New Features
Skill Inventory - Skill Inventory gives you a living map of every skill in your GitHub org - what exists, where it's used, and where you're duplicating effort. Run the initial import with
tessl inventory importand it scans your repos, collects your skills and manifests, and gives you a snapshot of your whole inventory. Run it again any time - each scan is diffed, so you get a living view of what's new, unchanged, and removed over time.Context Selection for tessl eval run - A single
--context <path>front door now picks the context under test, with--context-committo source it from a commit and--skill(repeatable) to narrow a local plugin to specific skills.Control Baseline by Default -
tessl eval runnow always runs a control variant to compare against, with--skip-baselineto opt out.Secrets injection for plugin evals —
tessl eval runnow accepts--env-file <path>. Variables in the file are encrypted client-side and delivered into the eval sandbox, where they are available tosetup.shscripts and the agent. See Passing secrets to your eval.--child Flag for Nested Projects - tessl project create now requires
--childto create a project nested inside an existing one, and blocks with a clear explanation when a parent project is detected in an ancestor directory.tessl version - Bump a plugin's version locally without publishing, like
npm version. Passpatch,minor, ormajorto increment the current version following semver, or an explicit version (e.g.tessl version 2.1.0) to set it directly. Updates the plugin manifest in place; an optional path argument targets a directory other than the current one.
Improvements
Clearer Install Output -
tessl installnow shows only the dependencies you explicitly requested on the success line; incidental re-installs are summarised as a dimSynced: N count.tessl scenario generate workspace resolution - Workspace is now resolved from your linked Tessl project (
tessl.json), the--workspaceflag, or an interactive prompt — instead of being derived from the tile manifest name, which caused confusing 403 errors when the manifest used thelocal/ prefix. The--workspaceflag is now accepted for tile-based generation.
0.84.0
New Features
Bootstrap Project Create -
tessl project createnow works in directories that don't yet have atessl.json, bootstrapping it as part of the create flow.Personal GitHub Account in Skill Inventory Import -
tessl skill inventory importcan now authenticate with a personal GitHub account, not just org-level credentials.Plugin Marketplace Discovery - Tessl now classifies
.claude-plugin/marketplace.jsonas a first-party manifest, picking up plugins from that location.
Improvements
Warning for Large-Scale Eval Runs -
tessl eval runnow prompts a confirmation before launching large eval batches.Plan-Entitlement-Gated Model and Agent Selection - model and agent selection respects plan entitlements with clearer messages when a selection isn't available.
Age-Gated Registry Sources Fallback - registry sources blocked by release-age policy can now resolve to an older fallback source rather than hard-blocking.
Bug Fixes
Fixed
tessl installto fast-fail on private or missing git repositories instead of silently succeeding with a hidden failure.Fixed the judge-results display to show the correct score denominator in both CLI and frontend.
Windows installer (new distribution channel)
Signed Windows installers are now available for direct download. The Inno installer wraps a signed tessl.exe bundled with TESSL_DISABLE_UPDATE (winget will manage updates):
https://install.tessl.io/installers-windows/0.84.0/TesslSetup-0.84.0-x64.exe
https://install.tessl.io/installers-windows/0.84.0/TesslSetup-0.84.0-arm64.exe
The signed package will be installable directly via winget install tessl.tessl as soon as it will be approved by Microsoft
0.83.0
New Features
**Jujutsu Repo Support -
tessl project repairnow detects and handlesjj-managed repositories alongside Git.Finer Eval Run Controls -
tessl eval runadds two independent opt-outs:--skip-forced-context-activationand--skip-scoring. Use them on their own or together to control whether the run forces context activation and whether the rubric scorer fires.
Improvements
Solver and Scorer Flag Deprecation - The
--solverand--scorerflags on tessl eval run are now hidden but still functional, with a one-line deprecation warning; prefer the new--skip-*flags.
Bug Fixes
**Removed a vendor-native plugin-manifest ingestion path that could pick up stale manifests outside the expected resolution flow.
0.82.0
Improvements
Install Policy Enforcement -
tessl installnow honors org-configured release-age and commit-age policies. For registry sources, the CLI automatically falls back to an older version that satisfies the policy (with a clear reason in the install output) or hard-blocks if no version qualifies. For git sources, it resolves to the most recent commit old enough to satisfy the minimum commit-age policy instead of installing HEAD.Policy-Aware
tessl outdated- Versions blocked by a release-age policy are now annotated as[release age policy]in the update table, and git sources show the latest age-compliant commit as the recommended update so you can see what will (and won't) be installed before runningtessl update.
0.81.3
Improvements
Eval Failure Reasons -
eval runandeval viewnow display the reason when a run fails (e.g. quota exceeded), instead of a bare failure markerEval Default Model Notice - A one-time notice informs you that the default eval model is now GLM 5.1, with guidance on selecting a different model
Resilient Eval Polling -
eval runnow rides out transient server errors and network blips while polling, instead of reporting a completed run as failedClearer Validation Errors - Manifest schema errors are now rendered in a readable format instead of a raw JSON dump
MCP Tool Updates - The
new_tileMCP tool is renamed tonew_plugin, and theoutdatedtool now accepts aprojectDirparameter to check a specific directory
Bug Fixes
Fixed
plugin packfailing with a missingtile.jsonerror for plugins created withplugin new; migrated plugins also no longer pack from the stale legacy manifestFixed
eval runevaluating the stale legacytile.jsoninstead of.tessl-plugin/plugin.jsonwhen both manifests are presentPublishing a migrated plugin now errors if
tile.jsondeclaresprivate: truebutplugin.jsonomits it, preventing a private plugin from accidentally going publicFixed broken documentation links shown after
plugin newandskill newRemoved misleading advice pointing at
tile.jsonfrom the "no content" validation error
0.81.2
Bug Fixes
scenario generate: Clearer Error When No Manifest Found — Runningtessl scenario generatein a directory with no manifest previously crashed with a confusingENOENT: tile.jsonerror. It now shows a clear message pointing you to add a.tessl-plugin/plugin.json.
0.81.1
Bug Fixes
Fixed
skill publishincorrectly triggering the import wizard whenplugin.jsonalready existsFixed
skill publish --bumpnot writing the bumped version toplugin.json, causing the old version to be publishedFixed
skill publishpre-publish version checks reading fromtile.jsoninstead ofplugin.json
0.81.0
New Features
Tiles are now Plugins - This release completes the switch from Tiles to Plugins. The CLI now uses "plugin" across every command, help listing, flag description, and message. For more information on how to migrate from Tiles to Plugins, there is a guide in the documentation.
Full moderation status in
plugin info-plugin infonow shows the complete moderation state for a published version (pass, pending, skipped, fail, or error).
Improvements
lsshortcut -tessl lsnow works as a shortcut fortessl list, mirroring the existingi→installshortcut.Workspace-scoped uploads - Eval-related uploads (scenario tarballs, plugin archives, repo archives) are now scoped to the active workspace, so teammates in the same workspace can access uploads created by other members.
Bug Fixes
Eval run links now point directly to workspace-scoped URLs, skipping the redirect members previously hit when clicking through.
scenario generatenow works in plugin-only directories (a.tessl-plugin/plugin.jsonwith notile.json), which previously failed with a "tile.json not found" error.The CLI no longer fails to start when its log file can't be written (e.g. in sandboxed or read-only environments) — file logging is now best-effort.
0.80.0
New Features
Eval Enablement Checks -
tessl scenario generate,tessl tile publish, andtessl skill publishnow pre-flight check whether the target workspace has evals enabled. Scenario generation fails fast with a clear message; publish still succeeds but cleanly skips the eval upload with a single info line.
Improvements
Cleaner Publish Output -
tessl tile publishno longer prints validation warnings twice (once from pre-publish validate, once from pack).Clearer Forbidden Errors - When creating a project fails because the workspace doesn't exist or you lack permission, the CLI now shows an actionable message instead of a generic
403 Forbidden.Skill Install Paths - Skills are no longer written under
.gemini/skills; installation routes through.agents/skills, and any legacytessl:*/tessl__*entries left in.gemini/skillsare cleaned up automatically.
Bug Fixes
tessl tile newnow preserves the rule description you provide instead of overwriting it with aTODOplaceholder.Generated
RULES.mdnow ends with a trailing newline.
0.79.1
Improvements
Clearer Guidance for Missing Project Links - When a linked Tessl project can't be found or isn't accessible, the CLI now surfaces actionable next steps with specific
tessl project createandtessl project repaircommands instead of a raw 404. Thetessl eval runhelp text now also explains that eval runs are saved to a Tessl project.
0.79.0
New Features
OpenHands agent support (alpha) —
tessl init,tessl install, andtessl runnow recognise OpenHands. Auto-detection follows the standard project → home → PATH ladder; OpenHands is excluded from the interactive picker while in alpha but can be selected explicitly via--agents openhands.tessl search --global— install search results into~/.tessl/without requiring a project to be initialised. Short formgavailable.tessl eval run --list-agents— print the supported<agent>:<model>catalogue (with the default marked) without running an eval. Supports--jsonfor scripting.tessl project- Tessl now supports workspace-backed projects in the CLI, giving your local work a persistent project identity for evals and other project-based workflows. Usetessl project createto create a project,tessl project linkto connect an existing one, andtessl project repairto fix broken project links.tessl eval run --scorer-agent— override the agent and model used for the score step (asagent:model), while the solver agent stays unchanged.tessl eval viewshows the override under aScored by:line.tessl eval run --quality-check— opt-in flag that asks the backend's LLM judge to filter out misleading scenarios (low feasibility, rubric leakage, low value) before solve and score. Excluded scenarios show up under a red✗ Excluded by quality checkline intessl eval view.tessl tile publish --with-scenario-quality-checkenables the same filter for the eval that runs as part of publishing.
Improvements
Simpler
tessl skill import/skill new— no longer prompts for workspace or visibility; defaults tolocalworkspace andprivatevisibility. Pass flags explicitly to override.Scenario config (
scenario.json) — declarative working-directory setup for evals. Declarefixturesto install (commit or directory),includepaths to copy in verbatim, andsetupscripts to run after install. Conventional defaults (resources/auto-included,setup.shauto-run) mean most scenarios need noscenario.jsonat all.tessl scenario generatenow produces ascenario.jsonfor every generated scenario, plus any supporting input state (e.g.resources/) when the source commit needs it. Setup scripts are off by default per workspace — contact Tessl to enable.Cleaner install error messages — local paths missing the
file:prefix now surface a clear validation error instead of a generic parse failure.Softer security-review copy — surfaces showing a per-skill security status now display "No security review available." instead of "Security review has not been run yet."
tessl skill reviewincludes referenced skill content — skill reviews now include all referenced content and scripts for logged-in users.
Bug Fixes
Install exits non-zero on failure —
tessl installandtessl install --globalnow reliably propagate tile install failures as command failures (non-zero exit code).tessl scenario generate <relative-path>— relative paths liketiles/fooare now correctly routed to the tile flow when the directory exists locally, instead of misrouting to the repo flow and erroring on missing-commits/-prs.tessl tile lint—@decoratortokens in markdown headings and YAML frontmatter are no longer treated as hard-link references and no longer produce false-positive lint warnings.MCP install bootstrap message — the "Initialising new tessl project at …" message no longer prints during bulk sync installs that don't actually write
tessl.json.Experimental agent detection — explicit project-level usage of experimental agents (e.g. OpenClaw workspace markers) is now respected ahead of the experimental gate, and the default install flow no longer force-enables experimental agents.
0.78.0
New Features
Activation Solver for Evals -
tessl eval run --solver=activationmeasures which skills activate for each scenario, andtessl eval viewrenders the results in a per-scenario activation tableSet Project Name on Init -
tessl initaccepts a new--nameflag to set the project name intessl.jsonat creation timeTarget Org on Workspace Create -
tessl workspace createnow accepts a--org-idflag to associate a workspace with a specific organizationList Organizations - New
tessl org listcommand displays the organizations you belong toScenario Quality Checks for Evals -
tessl eval run --quality-checkwill filter out scenarios that would give misleading results, based on a quality assessment that looks for things like “criteria leaking into the task” or “task duplicating information from the skill it is meant to exercise”
Improvements
Clearer Eval Run Status - Pending and in-progress eval and generation runs render as yellow "In Progress" with elapsed time, instead of an ambiguous "Pending"
Better Invalid Manifest Errors - tessl eval run against a directory with a malformed tile.json now reports the manifest error directly with a hint to fix it, instead of falling through to the scenarios flow
Removed Eval Compare - tessl eval compare has been removed. Use tessl eval view and tessl eval list instead
Global Install from Search -
tessl searchnow supports--globalso selecting a result installs it to~/.tessl/instead of the current project
Bug Fixes
Fixed tile rule creation to safely handle prompts containing
/so they no longer create unintended nested paths in the generated rule files
0.77.0
New Features
Experimental Windows Support - The Tessl CLI is now available on Windows as an experimental release. Install it with PowerShell:
Eval Setup Scripts - Eval scenarios support a new
setupfield inscenario.json— an ordered array of script paths that run after fixtures and includes are installed, before the solver agent starts.
Improvements
Cleaner Top-Level Help - Simplified top-level CLI help.
0.76.0
New Features
Eval Progress Bars —
eval runandeval viewnow show real-time per-scenario progress bars with colour-coded status (complete, active, queued)Directory Fixtures in Evals — Scenarios can now declare
includepaths for directory-based fixtures, alongside existing commit-based fixtures."latest" Dependency Version — Use
"latest"as a dependency version intessl.jsonto always resolve the most recent published versionUninstall Individual Skills —
tessl uninstall --skill <name>removes specific skills from a dependency instead of removing the entire tileVerifiers in Tile Packing — The
verifiers/directory is now included when packing tiles (when evals are enabled)Failed Security Review Visibility — Security reviews that failed to run are now shown as "failed" instead of appearing as "pending"
Improvements
Project Name from Directory —
tessl initnow derives the project name from the directory basename instead of using a generic defaultArchive Without Version —
tessl archivenow works without a version suffix, allowing you to archive all versions of a tile at onceEval Agent/Model Display —
eval viewnow shows the agent and model for all eval run typesWorkspace Commands —
-userflag renamed to-username,-userstill works with a deprecation warningHelp Text Corrections — Improved descriptions for
install --skip-init,tile pack,skill import, andconfig set
Bug Fixes
Fixed eval scenario path resolution when base directory is "."
Fixed eval git diff ignoring user's custom diff tool configuration
Fixed object metadata serialization in eval debug output
Breaking Changes
Removed
--project-dependencies— The--project-dependenciesflag has been removed fromtessl installandtessl init. Dependency scanning and automatic tile matching are no longer part of the install flow. Usetessl searchto find relevant tiles instead.
0.75.0
New Features
API Key Management — New
api-keycommand group withcreate,list, anddeletesubcommands for managing workspace-scoped API keys. Supports both interactive and non-interactive (scripting) modesAuto-Select Single Workspace — When you're a member of only one workspace, the CLI now skips the workspace selection prompt and selects it automatically
Breaking Changes
auth tokenRemoved — Theauth tokencommand has been removed. Use the newapi-key create,api-key list, andapi-key deletecommands instead for workspace-scoped API key management
0.74.0
New Features
Machine-Readable Search:
tessl search --jsonflag outputs results in JSON format for scripting and automationSkill Review Threshold:
tessl skill reviewnow supports a--thresholdoption: when the score is below this threshold, the command will fail - helpful for CI use casesScores in Search & Info: Search results and
tessl tile infonow display quality scores and security review details
Improvements
Piped Token Output:
tessl auth tokennow suppresses the spinner and hints when output is piped, making it easier to use in scriptsBetter Error Display: Failed operations now render a red cross indicator for clearer error visibility
Search Column Alignment: Interactive search results now have properly aligned columns
Remove Steering to Use
query_library_docsMCP tool: It was getting in the way of skill activation from some users. You can manually opt-in to install the rules yourself withtessl install tessl/cli-setup
Bug Fixes
Fixed skill review API calls failing due to stale authentication tokens
Fixed eval commands resolving git repo root incorrectly when run from subdirectories
0.73.0
New Features
Security Reviews on Install -
tessl installandtessl updatenow show security review results before installation. CRITICAL/RISKY findings require confirmation to proceed, ADVISORY findings show an advisory after install, and unscanned items display a warning. Use-dangerously-ignore-securityto bypass prompts in CI/scripted contextsCommit-Pinned Installs -
tessl installnow acceptsgithub:<repo>@<sha>and full GitHub commit URLs, allowing you to install a skill at a specific commit. A post-install hint directs totessl updatefor future updatesPublish
--bumpFlag -tessl tile publishandtessl skill publishnow accept--bump patch|minor|majorto auto-increment the version when the current version already exists in the registry.agents/skillsDirectory Support - Install skills in.agents/skillsalongside other requested agents since that’s the folder many tools are aligning with
Improvements
Grouped Search Results -
tessl searchnow groups results by type (Tiles / Skills) with section headers when both types are present
Bug Fixes
Fixed
tessl skill newshowing interactive prompts even when all required flags (-name,-description,-workspace) are providedFixed MCP server processes becoming orphaned when the parent process disconnects (stdin closes)
0.72.0
New Features
Pre-Publish Validation & Dry Run - Tile and skill publish commands now validate permissions, workspace, and version availability before publishing, with clear pass/fail output. Use
--dry-runto check without actually publishing.Security Scores in Search - Search results now display security assessment levels (Passed, Caution, Risky, Critical) alongside tile scores
Improvements
Smarter Eval Scenario Generation - Existing scenarios are now considered when generating new ones, avoiding duplicates
Large File Exclusion in Eval Archives - Files over 10MB are automatically excluded from repo archives during eval runs
Eval Commit Ref Validation - Commit refs are validated before archive creation, with clear error messages for missing refs
0.71.0
New Features
Support for Copilot in VSCode — Skills, rules, and our MCP server can be automatically set-up for vscode
Eval Run Labels — New
--label/-lflag ontessl eval runlets you attach a short description to a run. Labels appear intessl eval listand the Tessl web UI, making it easier to identify what you were testing across multiple runs.Eval Variant Selection — New
--variantflag ontessl eval runlets you run only a specific variant. Pass--variant without-contextto run the baseline only (useful for iterating on scenario quality without affecting the with-context comparison), or--variant with-contextto skip the baseline.Local Repo Eval Runs — Project evals can now run against local git repos without SCM integration; the CLI archives and uploads the repo automatically
Smarter Scenario Generation —
tessl eval generatenow avoids duplicating existing scenarios when generating new ones;--countspecifies how many new scenarios to add
Bug Fixes
Allow installation of skills from unknown dot folders in GitHub repositories (e.g.,
.agent-skills/)
0.70.1
Improvements
Non-Interactive Mode for Evals & Scenarios —
tessl eval runandtessl scenario generatenow print the run/generation ID and URL immediately when running non-interactively, instead of polling for completionClearer Help Text —
tessl eval runandtessl scenario generatenow show which flags are mode-specific, and invalid flag combinations are rejected with helpful messages
Bug Fixes
Fixed install --watch-local exiting prematurely — the process now stays alive until Ctrl+C and updated output to show relative paths rather than absolute ones
Fixed installation from
file:source to exclude .git directories - It now installs the same files that would be captured bytessl tile packortessl tile publish
0.70.0
New Features
Local Tile Watching — New
--watch-localflag ontessl installwatches local file-source tiles for changes and automatically reinstalls tiles, streamlining the tile development workflowSearch Score Display —
tessl searchresults now show aggregate quality and impact scores with color-coded badgesScenario Generation from PRs — New
--prsflag on tessl scenario generate accepts PR numbers as an alternative to--commitsMultiple Scenario Downloads —
tessl scenario downloadnow accepts multiple space-separated IDs (e.g.,tessl scenario download id1 id2)Eval Run Repeats — New
--runs / -nflag ontessl eval runto repeat each agent configuration multiple timesEval Polling for Tile Evals — Tile evals now poll for completion instead of returning immediately, with Ctrl+C to detach gracefully
Eval JSON Output for Tile Evals —
--jsonflag ontessl eval runnow works for tile evals, outputting run ID, tile name, and scenario countEval Agent Flag — New
--agentflag (format:agent:model) replaces--modelfor tile evals, aligning with project eval conventionsEval Cost Metadata —
tessl eval viewnow displays cost, runtime, turns, and token usage below each solutionEval Agent/Model Display —
tessl eval viewstats now show the agent and model used for each solution--lastfor Eval Debug & Retry —tessl eval debugandtessl eval retrynow support--lastfor quick access to the most recent eval runRepository Metadata in tile.json — Tiles now support an optional repository URL field in their manifest
Improvements
Tile Cache Protection — Tile authoring commands now warn when operating on paths inside
.tessl/tiles/, preventing accidental edits that would be overwritten on the next installCleaner Help Text — Removed meaningless
--no-{flag}negated boolean flags from all commands, improved flag capitalization, and reordered commands for logical groupingConsistent Scenario Terminology — "Generation run" renamed to "generation" throughout the CLI for simpler, more natural language
Scenario Generate Table Output —
tessl scenario generateresults now render as a formatted table with Scenario ID and Commit ID columnsSmarter Binary Install — Skips re-downloading binaries that already exist and pass validation; corrupt binaries are automatically cleaned up
Fixes
Fixed CLI crashes when output streams disconnect unexpectedly (EPIPE handling)
Fixed
unpublishhelp text to reflect the correct 2-day timeframe (was showing 2 hours)
0.69.0
New Features
Scenario Generation Commands - New
tessl scenariocommand suite for generating and managing test scenarios. Generate scenarios from tiles or repository commits (tessl scenario generate), download them to disk (tessl scenario download), and track generation runs (tessl scenario list,tessl scenario view)Global Tile Installation - Install tiles globally with
tessl install --globalto make documentation and skills available across all your projects.Eval Variant Comparison -
tessl eval runnow supports running evaluations with multiple agent variants and context patterns, with automatic detection of tile vs. project scenario sources
Improvements
Project Directory Hints -
tessl initandtessl installnow display a helpful hint when the target project directory differs from your current working directory
Bug Fixes
Fixed a crash when piping CLI output to another command (e.g.,
tessl list | head) by gracefully handling broken pipe signalsFixed markdown link validation incorrectly parsing non-markdown files during tile linting
0.68.0
New Features
GitHub Copilot CLI Support — Tessl now recognizes GitHub Copilot CLI as an agent, with automatic detection, rules wiring via
AGENTS.md, skill installation, and MCP configurationSearch Type Filtering —
tessl searchnow accepts a--typeflag to filter results by content type (skills, docs, or rules)Skill Review Auto-Accept —
tessl skill review --optimizenow supports a--yes / -yflag to skip the confirmation prompt and auto-apply improvements
Improvements
Automatic Binary Cleanup — Old CLI binary versions are now automatically cleaned up after updates, keeping only the current version and one rollback
Short SHAs for Git Tiles —
tessl listandtessl doctornow display short SHAs for git-sourced tiles instead of full commit hashesCommand Detection Timeout — Command lookups now have a 1-second timeout to prevent indefinite hangs during agent detection
Breaking Changes
tessl skill searchRemoved — Usetessl search--type skills instead
Bug Fixes
Fixed
tessl skill review --optimizefailing with a raw 401 error when not authenticated — now shows a clear login promptFixed
unpublishhelp text to reflect the correct 2-day window (was incorrectly showing 2 hours)
0.67.0
New Features
Skill Optimization -
tessl skill review --optimizenow applies feedback from the review to generate an updated SKILL.md fileEvaluation Type Support -
tessl eval listnow displays all evaluation types (tile, repo, skill) with a new "Type" column and--typeflag to filter by evaluation typeFilter Evaluations by Status -
tessl eval listnow supports a--statusflag to filter runs by status (pending, in_progress, completed, failed)
Bug Fixes
Fixed
tessl skill reviewreturning exit code 0 on validation failure — it now correctly returns a non-zero exit code, enabling proper CI/CD integrationFixed
tessl api --input- sending incorrect Content-Type when piping JSON via stdin
0.66.0
New Features
outdatedcommand — Check installed tiles for newer versions, showing current, safe update, and latest version infoupdatecommand — Update tiles to newer versions. Use--yesfor all, and--forceto include breaking updates
0.65.0
Bug Fixes
Windows Compatibility for Generated Files - Fixes generated file and directory names containing colons (
:) which are invalid in Windows file paths. Tile files committed to git repositories can now be cloned on Windows without errors. Existing installations are migrated automatically
0.64.0
New Features
Local Tile Evaluation - Run evals against your tiles directly from the CLI with
tessl eval runand get a fast feedback loop for improving your tilesEval Results in Terminal - View eval results with per-scenario breakdowns, variant comparisons, and scoring summaries using
tessl eval viewEval Run History - List recent eval runs filtered by workspace, tile, or author with
tessl eval listEval Retry - Re-run failed evals with
tessl eval retry
0.63.4
Improvements
Internal - Stability improvements
0.63.3
New Features
Local Path Support for Tile Info -
tessl tile infonow accepts a local directory path as an argument and defaults to the current directory when no argument is provided, making it consistent with other tile commands likepublishandlint
Improvements
Better Publish Messages - After publishing tiles or skills, the CLI now displays the published resource URL and a note about moderation timelines
Bug Fixes
Fixed MCP configuration failures when using
npx tesslby ensuring the tessl binary is accessible via the PATH duringinit
0.63.2
Bug Fixes
Fixed circular reference issues when
CLAUDE.mdandAGENTS.mdare symlinked
0.63.0
Improvements
The CLI is now distributed as a native binary instead of a bundled Node.js package
0.62.2
New Features
Optional Authentication - You can now use
tessl init,tessl install, andtessl searchwithout logging in. Public tiles are accessible to everyone, while private tiles will show helpful hints to log in when needed
Bug Fixes
Fixed
--skillflag not working correctly when installing a single skill from a local tile with multiple skills
0.62.1
Improvements
Internal - Stability improvements
0.62.0
New Features
Unified Search —
tessl searchnow returns both tiles and skills in a single view, with visual badges showing content types ([docs], [skills], [rules]) and skill provenanceTile Evaluations — New tessl eval command group for evaluating tiles:
tessl eval run [path]— Run evaluations on local tiles--forceflag to re-run all evaluations including previously solved cases
tessl eval list— View recent eval runs with statustessl eval view-results <id>— View detailed results with color-coded scores and assessment tables--lastflag to quickly view most recent eval results
Git metadata (branch, commit, dirty state) automatically attached to eval runs
Tile Info — New
tessl tile info <name>command to view tile metadata, verification status, and moderation statusSkills in MCP Context — The
query_library_docsMCP tool now includes installed skills when building knowledge context
Improvements
Redesigned Help for
tessl -h— Commands are now grouped by category with improved formatting and readabilityPublish Workspace Context — Publishing now shows the target workspace name before uploading
Bug Fixes
Fixed
--skillflag being ignored when installing skills from registry tilesFixed re-installing tiles not updating the manifest with new skill selections
Fixed tile lint incorrectly flagging files as orphaned when linked via
@path.mdincludes
0.61.4
Improvements
Install
--yesFlag Behavior - The--yesflag now auto-selects all skills when installing from GitHub, even in interactive mode. Previously it only worked in non-interactive environments.Non-Interactive tile new - The tessl tile new command can now run fully non-interactively when all required flags are provided, making it easier for scripts and agents to use.
Fixes
GitHub Skill Installation Bugfixes - Address various edge cases that prevented some skills being installed from GitHub
GitHub Skill Installation Respects Pinned Version - Fixed an issue that meant we always installed a skill from a repository's trunk rather than the commit sha in
tessl.jsonwhen doingtessl install
0.61.3
Improvements
Faster git installs - Git dependencies are no longer re-downloaded on every install when already at the correct version
0.61.2
Improvements
Windows Platform Detection - The CLI now detects Windows and provides a clear error message directing users to use WSL instead
Lenient GitHub Skill Installation - Skills from GitHub with missing referenced files or minor schema issues now install with warnings instead of failing completely
Better Warning Display - Installation warnings are now grouped by tile name with count summaries (e.g., "3 content warnings in github:user/repo")
Verbose Install Output - Added
--verbose(-v) flag totessl installandtessl skill searchcommands to display detailed warning messages during installation
Bug Fixes
Fixed skill validation warnings showing absolute temp directory paths instead of relative paths
Fixed installation failures when GitHub skills have invalid optional frontmatter fields (e.g.,
allowed-toolsas array instead of string)
0.61.1
New Features
Skill Commands - Added a complete set of dedicated skill management commands:
tessl skill new,tessl skill import,tessl skill lint,tessl skill publish,tessl skill review, andtessl skill search. Skills are now first-class citizens with their own command group for easier discovery and management.GitHub Installation Support - Install tiles and skills directly from GitHub repositories using
tessl install github:user/repoor full URLs. Supports branch selection, subdirectories, and interactive skill selection. Git sources are pinned to commit SHAs for version stability.Skill Search - Discover available skills across the Tessl ecosystem with the new interactive
tessl skill searchcommand. Search returns both external skills from GitHub and tiles containing skills, with interactive selection and installation.Skill Review - Evaluate skill quality with
tessl skill review, which validates SKILL.md files and provides LLM-based scoring across multiple dimensions with actionable suggestions for improvement. Supports both local paths and GitHub URLs.Non-Interactive Mode - Commands now auto-detect TTY availability and work in CI/CD pipelines and with AI agents. When required flags are missing in non-interactive environments, commands provide clear error messages pointing to available options.
Selective Skill Installation - Choose specific skills when installing tiles using the new
include.skillsmanifest field in tessl.json. Reduces clutter in agent directories by only activating the skills you need.Codex Support - Full support for Codex as a core agent alongside Claude Code, Cursor, and Gemini. Includes project detection, MCP configuration, steering, and skills synchronization.
Gemini Production Ready - Gemini agent is no longer experimental and fully supported in production workflows.
Improvements
Simplified Skill Naming - Skill directories now use cleaner names (
tessl:<skill>instead oftessl:<workspace>:<tile>:<skill>) and are symlinked rather than copied for better performance and consistency.Automatic Eval Publishing - Evals are now published by default when running
tessl tile publishortessl skill publish. Use-skip-evalsto opt out. Published evals automatically trigger evaluation runs.Better Skill Discovery - Improved skill detection uses a three-step process (root check, priority directories, full scan) with optimizations that reduce scan time and exclude build/cache directories.
Streamlined Publishing - The
tessl skill publishcommand no longer asks redundant "will you share this?" prompts since publishing inherently means sharing.Improved Help Text - Updated
tessl init --agentto list all supported agents (claude-code, codex, cursor, gemini) and clarified thattessl installaccepts both registry tiles and GitHub URLs. Addedtessl ias a shortcut alias.Relative Paths in Manifest - When creating tiles with
--install, the CLI now stores relative paths in tessl.json instead of absolute paths, making projects portable across machines and directories.Smarter CLI Setup - The tessl/cli-setup tile is now only installed when your tiles have documentation, reducing overhead for steering-only projects.
Flexible Tile Content - Tiles can now contain any file type, not just markdown files, allowing for configuration files, code examples, and other documentation formats.
Bug Fixes
Fixed skill review score display showing
/4instead of the correct/3scaleFixed status command handling of non-semver versions for git-based and file-based tiles
Fixed orphaned file detection for tiles with root-level skills - README.md and other root files are no longer incorrectly flagged as orphaned
Fixed skill publish command to accept SKILL.md file paths directly instead of only directory paths
Fixed file source tiles being incorrectly deleted as orphaned on repeated installs when dependency key differed from tile name
Fixed skill frontmatter validation warnings during installation from external sources like GitHub
Fixed
tessl skill newoutput messages to reference correct tile directory pathsFixed skill selection in GitHub repos to require explicit choices, preventing accidental installation of all skills from large repositories
0.60.0
New Features
Project Mode (Managed vs Vendored) - Choose how tile content is managed in your project:
Managed mode - Tile contents are gitignored like
node_modules(default for existing projects)Vendored mode - Tile contents are committed to your repository (default for new projects)
Switch modes anytime by setting
"mode": "managed"or"mode": "vendored"intessl.json
Improvements
Simplified Local Tile Dependencies - Local tiles (using
file:orlink:sources) no longer require aversionfield intessl.json. The CLI automatically reads versions from installedtile.jsonfiles. Existing manifests with bothversionandsourceare automatically migrated to the new format.
0.59.0
New Features
.tileignoreSupport - Exclude files from tile validation and packaging using gitignore-style patterns.
0.58.1
Improvements
Tile Commands Auto-Detect -
tessl tile pack,tessl tile lint, andtessl tile publishcan now be run directly from your tile directory without explicitly specifying the path
Bug Fixes
Squashed some bugs that were hiding in the codebase. They know what they did.
0.58.0
New Features
Context Cost Analysis (Experimental) - The
tessl doctorandtessl tile lintcommands now display estimated token costs for tile content loaded into agent context windows. This helps you understand which tiles contribute most to context usage and identify oversized content before publishing.HTTP Proxy Support - The CLI now works in proxied network environments by automatically detecting and using HTTP/HTTPS proxy settings from environment variables (
http_proxy,https_proxy,HTTP_PROXY,HTTPS_PROXY). The CLI respectsno_proxy/NO_PROXYbypass rules.
Improvements
Enhanced Python Dependency Scanning - Improved Python dependency detection with support for extras notation (e.g.,
openai[aiohttp]>=1.52.2) across requirements.txt, pyproject.toml, anduv treeoutput. The scanner now also automatically falls back topip3whenpipis not available, improving compatibility with macOS and Linux distributions.
Bug Fixes
Fixed Go package PURL validation to require the
vprefix in version strings (e.g.,v1.9.3instead of1.9.3), ensuring pkg.go.dev documentation links work correctly.Fixed false "broken link" warnings during
tessl tile lintwhen markdown files contain URI schemes likemailto:,tel:,ftp:, ordata:.
0.57.0
New Features
Monorepo Subfolder Support - The
tessl install --project-dependenciescommand now scans dependencies from your current working directory, enabling you to run it from monorepo subfolders in an initialized project (e.g.,tessl init && cd backend && tessl install --project-dependencies)
Improvements
Smarter Documentation Tree - The context tool now only includes files that are transitively linked from a tile's documentation entrypoint, filtering out orphaned files and making documentation discovery more focused
Bug Fixes
Fixed markdown link validation to properly handle anchors (e.g.,
./guide.md#section). The validator now validates both file existence and anchor validity, with clearer error messages for broken links
0.56.2
Improvements
Internal - Stability improvements
0.56.1
Improvements
Observability Enhancements - Improved telemetry infrastructure for better diagnostics and system monitoring
0.56.0
Breaking Changes
Node.js 18 No Longer Supported - The CLI now requires Node.js 20 or later. Node.js 18 reached end-of-life in April 2025 and is no longer supported. The CLI will now fail with a clear error message if you attempt to run it on Node.js 18.
Improvements
Only Auto-Init Outside Existing Projects - The
installandsearchcommands no longer automatically initialize a project when run in a subdirectory of a Tessl project directory. This prevents accidentally creating unwanted projects when running commands after changing directories. To initialize a project, explicitly runtessl initfirst.
Bug Fixes
Fixed an issue where the
initcommand's failed to identify and install relevant tiles.
0.55.1
Improvements
Faster Auto-Updates - The CLI now checks for updates every 3 hours (down from 24 hours), ensuring you get critical fixes and improvements more quickly. You can still adjust the interval with
TESSL_AUTO_UPDATE_INTERVAL_MINUTESor disable it by setting it to0.
0.55.0
New Features
Updated Workspace Roles - Workspace member roles have been updated to:
member,publisher,manager, andowner(theviewerrole has been removed)
Bug Fixes
Fixed authentication issue where API token authentication (
TESSL_TOKEN) would fail after token refresh attempts, causing authenticated API calls to fail
0.54.0
New Features
Tile Manifest Validation - The
describesfield in tile manifests is now validated to ensure it contains a valid PURL (Package URL) format. Invalid PURLs or unsupported package types will show helpful warnings duringtessl tile lint,tessl tile pack, andtessl tile publishoperations
Improvements
Project Directory Detection - Improved project directory discovery logic allows the CLI to better locate your
tessl.jsoneven when running commands from subdirectories within your project
Bug Fixes
Fixed missing newline after
tessl listoutput for better terminal formatting
0.53.0
New Features
Go Modules Support - Dependency scanner now detects Go projects and extracts dependencies from
go.modfilesAuto-Init on Search - When selecting a tile from search results, the CLI now automatically initializes the project if needed (creates
tessl.json)Dynamic Terminal Sizing - Interactive prompts now adapt to your terminal height for better readability
Escape Key Cancellation - Press Escape to cancel select/checkbox prompts
Improvements
Smarter Context Tool - When no documentation is found, the tool now suggests running a search to find relevant tiles
CI Environment Detection - Auto-update and version checks are now automatically disabled in CI environments
Bug Fixes
Fixed tile installation failures when system temp directory is on a different filesystem (handles cross-device moves)
0.52.2
No changes in this release
0.52.1
Improvements
Homebrew installation now available for stable releases
MCP server stability improvements
0.52.0
New Features
Added
tessl tile lintcommand to validate tiles before publishing
Bug Fixes
Tile upgrades now properly clean up old files when installing new versions
Fixed markdown link validation to skip code blocks in tile documentation
0.51.0
MCP Tool Improvements
Renamed
get_library_contexttool toquery_library_docsand updated descriptions for better clarityUpdated cli-setup steering tile version to reflect tool rename and improve adoption
Tile Management
Added
tessl listcommand to display installed tiles
CLI UX
Improved CLI message spacing and copy for better readability
0.50.6
Added the ability to
archiveandunarchiveworkspacesArchiving a workspace allows you to non-destructively remove workspaces you no longer wish to use or see. Archiving a workspace also archives all tiles in that workspace. This means that users can still install those tiles if defined in their manifest, but will not otherwise see them in search etc.
Unarchiving, as you’d expect, shows a workspace once again. However, it does not unarchive tiles within the workspace, to avoid potentially unarchiving content that was previously archived before the workspace was.
Fixed a bug when authenticating in multiple machines that would result in our MCP tool
get_library_contextonly working on the last machine you authenticated.
0.50.5
We added a new tessl tile pack command which validates and builds a tarball for a tile. It can be useful to validate things before doing tessl tile publish.
Also fixed a bug where the CLI would fail to run when who signed up without a first or last name.
0.50.4
Fix tessl tile publish requiring an absolute path
0.50.3
This release marks a significant shift in focus. We've rebuilt the CLI from the ground up as an Agent Enablement Platform, pausing work on the Tessl Framework to concentrate on our registry functionality and agent integration.
We really appreciate all the feedback we have received so far. Please, keep it coming.
What's Changed
Getting Started is Now Simpler
When you run tessl init in your project, it now automatically detects your dependencies and pulls relevant tiles from the registry. For teams already using tessl, new developers only need to install the CLI and grant MCP server permissions—everything else happens automatically when the MCP starts up.
Smarter Agent Integration
Instead of agents searching through generated documentation, they now use our new get_library_context MCP tool to query tiles directly. This requires logging in to tessl, but makes context retrieval much more efficient. The MCP tools also include login (for in-session authentication) and status (for checking project state).
Note: KNOWLEDGE.md is no longer generated since agents now pull context on-demand.
Command Reorganization
We've streamlined the command structure. Changes to existing commands:
tessl registry install|search→tessl install|searchtessl registry sync→tessl install --project-dependenciestessl registry publish|unpublish|archive→tessl tile publish|unpublish|archivetessl version→tessl --version
Release Channels & Auto-Updates
You can now choose between latest (default, stable) and beta (early access) channels. The CLI checks for updates hourly and auto-updates transparently (max once per 24 hours). Configure the interval with $TESSL_AUTO_UPDATE_INTERVAL_MINUTES or set it to 0 to disable.
New Commands
tessl doctor- diagnose authentication, manifest status, detected agents, and dependencies (add-jsonfor full dependency details)tessl uninstall- remove tiles from your project
What's Removed
The Framework functionality is no longer included. If you need the full framework features, v0.28.0 remains available (though development is paused).
Currently, automatic setup only supports Claude Code and Cursor. We'll add other agents based on requests—in the meantime, you can manually configure the MCP with any agent.
Note: This is a major rewrite (v0.30.0 → v0.50.2). Existing workflows will need adjustment.
(Updated Nov 27, 2025)
0.28.0
New Features
Invoking
setup agentvianpxwill now configure mcp to use tessl vianpx, ensuring smoother setup for users without a global install.Added integration with Cursor IDE for automatic generation and application of steering rules from tiles.
Added
tessl registry uninstallto easily uninstall tiles.
Improvements
Improved error messages for the
add-membercommand to enhance clarity.Improved
tessl statusoutput to better reflect post-generation changes.Aligned arguments for
tessl registry unpublishandtessl registry archive.
Bug Fixes
Fixed detection of direct dependencies in the pip detector.
Resolved issue where unsupported package managers showed unnecessary user-facing messages.
Extended display name support to include PyPI and Maven packages.
Removed outdated compatibility code for
specs.json.
0.27.0
New Features
New
tessl setup project-infoCommand: CLI-only users can use this command to add details that Tessl tools require toAGENTS.md.Framework Initialization: you can choose “full-framework” (closed beta, login required) or “registry only” when running
init.Steering Rules: Tiles can now define agent behavior rules via a new
steeringsection in their manifests. These rules are automatically aggregated into aRULES.mdfile.Local Usage Spec Installation: Added support for installing tiles from local directories via a new
sourcefield intessl.json.
Improvements
Simplified usage spec installation paths by removing version info from the directory structure.
Bug Fixes
Fixed
config listto return empty results instead of throwing errors when no config file is present.
0.26.0
New Features
Selecting Cursor during
tessl initor viatessl setup agentwill now automatically install rule files into.cursor/rules/tessl/frameworkas part of project setup, improving Framework adherence.
0.25.0
New Features
Improved Tile Installation UX: Tiles suggested during install/update are now selected by default, making the default path simpler for users.
Improved Help for
tessl init: The-helpoutput fortessl initnow lists available agents, making it easier to discover options.Non-Interactive Shell Support: CLI installation no longer blocks in non-interactive shell environments.
Improvements
Better Logging Behavior: In non-interactive mode, JSON logs are now correctly sent to stderr, preserving standard piping behavior.
Help Text Visibility: Tile help text remains visible even when tiles are deselected, improving clarity during installation.
Bug Fixes
Maven Dependency Detection: Fixed issues with the Maven dependency detector to ensure accurate detection.
Logging Flushing Reliability: Addressed a flakiness issue by ensuring that stdio is flushed on close, not exit.
Ink Render Handling: Corrected usage of Ink’s rendering logic to prevent hanging or exit-related issues.
Security: Updated
pinologger to remove a transitive vulnerability.
0.24.0
New Features
tessl registry syncto synchronize tiles from the registry.tessl setup frameworkto switch between the full Tessl framework and “registry-only” mode.tessl stampto manually sync spec/code hashes after intentional edits so tessl status stops flagging them.tessl registry searchnow matches by full tile name (workspace/name), making it easier to find your own tiles.tessl registry listadded to browse available tiles.tessl documentadds tests to spec by default.
Improvements
tessl statussurfaces an explicit error if bootstrap hasn’t been run.Tool calls will fail if agent bootstrap process has not been run, with guidance to fix.
Added --print-project-cache flag for getting the path to the project cache.
Removed interactive tool picker removed to simplify workflows.
AGENTS.md now includes clearer “bootstrap” hints and wording tweaks to reduce confusion about when/why bootstrap should run.
Bug Fixes
MCP commands now authenticate correctly in all call sites.
Reduced noisy output during
tessl registry sync.
Compatibility
Minimum Node.js version is now >= 22.0.0.
0.23.0
New Features
Added support for GitHub Copilot.
tessl editnow supports code files that have an associated@describespec. Changes are made via the spec.
Improvements
tessl whoamicommand now includes your user ID.Reduced the chances of "token expired" errors, by proactively refreshing tokens when commands are run.
Test commands will now time out if no output is received for a set period, preventing hangs.
Registry commands now prompt for initialization if the workspace isn’t already set up.
Unused
.tessl/usage-specsdirectories are now removed during sync if the corresponding entries are removed fromtessl.json.Test generation is now controlled by a unified
generateTestsparam, which always skips locked tests.Improved
listcommand usability, to make it easier for agents to select the right parameters.tessl registry publishskips uploading irrelevant.mdand.gitignored files.
Bug Fixes
tessl statusno longer shows duplicated test paths.Resolved issue where interactively selected tools weren’t able to run.
Fixed Goose setup, so that correct
.gooserulesconfiguration is used.
Deprecations
Removed deprecated annotations like
@describes,@generates, and@satisfied-by.
⚠️ Be sure to check out the changes in 0.22.0 if you're coming from an older version
0.22.1
Bug Fixes
Fixed a project language detection issue that would occasionally cause errors across different commands.
0.22.0
⚠️ Upgrading for users who installed via npm
If you have already installed tessl via npm, you'll need to:
Run
npm uninstall -g tessl-alpha(if you have a version earlier thanv0.21.0)Run
npm i -g @tessl/clito update to the latest version.
The update command will work as expected from v0.22.0 onwards.
Camel case flag support has been removed
Camel case flag support has now been fully phased out, all command flags should be provided in kebab case.
New Features
initnow offers the option to set up an agent and MCP integration when initializing a project for the first time.
Improvements
Support information is now listed in help for logged-out users.
Tool parameters are now displayed before model parameters in tool-level help.
Links are now supported in kitty terminal.
Bug Fixes
Fixed the rules file targeting in Gemini CLI agent setup.
feedbackis now gated to authenticated users, unauthenticated users can request support via email (support@tessl.io).
0.21.2
Bug Fixes
Fixed MCP server not allowing invocation of install or search tools when not logged in.
0.21.1
Improvements
Running tools with spec-registry-only context will now fail early and remind you to install the Tessl Framework before continuing.
Added ability to exit
registry searchwith the Escape key.Search results now link to the spec registry page instead of individual package registries.
Bug Fixes
Fixed Ctrl+C handling with the experimental
observecommand.Fixed a deprecation warning on
registry install.
0.21.0
⚠️ Upgrading for users who installed via npm
We have now published to public npm! This means that if you installed Tessl using npm, auto update with tessl update will not work for you for this version. To update, you’ll need to run:
⚠️ Re-initializing your projects
With this release, you’ll need to re-initialize any previously-created Tessl projects by running tessl init inside those directories.
Breaking Changes
Removed test generation from the
buildtool and introduced a newbuild-teststoolThe spec format has been updated to allow capabilities to contain requirements that don’t have
[@test]links:createandeditspecs will only add[@test]links if explicitly asked to do so in the--prompt
New Features
Our spec format now supports distinguishing between three types of tests:
lockedtests: capture functional requirements providedDenoted by
{ .locked }next to the[@test]link or in a header containing[@test]links.You can manually mark tests as locked or use
tessl testto do it by passing--lock-tests.
impltests: cover implementation details that are tested to identify changes in behaviour disconnected from a spec’s functional requirements.Denoted by
{ .impl }.They are generated by
tessl document --include-impl-details.
drafttests: are untagged and could have been added manually or usingeditorcreateYou can use
tessl test --lock-teststo automatically lock all draft the tests from a spec when all tests pass.
Added flags to
build-teststool to select which kind of tests to generate--generate-draft-tests,--generate-locked-tests, and--generate-impl-tests.
New Commands & Tools
Added new
registry install,registry search, andregistry synccommands for working with Usage Specs.Added a new
testtool, to run all of the tests for a given spec.Added
generate-teststool to add tests to a given spec.Added experimental
observetool to observe MCP tool invocations.
Spec Registry
Unauthenticated users can now access a subset of Tessl’s features to add Usage Specs to their projects.
Running
initwhile logged out will set upAGENTS.mdand framework files relating to the Tessl Spec Registry.
Global Config
configcommands now support the--globalflag, for updating the global Tessl config.The global config now supports a
shareUsageDatakey to allow for analytics opt-out.

