Changelog

Latest version = 0.56.1

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 install and search commands 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 run tessl init first.

Bug Fixes

  • Fixed an issue where the init command'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_MINUTES or disable it by setting it to 0.

0.55.0

New Features

  • Updated Workspace Roles - Workspace member roles have been updated to: member, publisher, manager, and owner (the viewer role 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 describes field 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 during tessl tile lint, tessl tile pack, and tessl tile publish operations

Improvements

  • Project Directory Detection - Improved project directory discovery logic allows the CLI to better locate your tessl.json even when running commands from subdirectories within your project

Bug Fixes

  • Fixed missing newline after tessl list output for better terminal formatting

0.53.0

New Features

  • Go Modules Support - Dependency scanner now detects Go projects and extracts dependencies from go.mod files

  • Auto-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 lint command 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_context tool to query_library_docs and updated descriptions for better clarity

    • Updated cli-setup steering tile version to reflect tool rename and improve adoption

  • Tile Management

    • Added tessl list command to display installed tiles

  • CLI UX

    • Improved CLI message spacing and copy for better readability

0.50.6

  • Added the ability to archive and unarchive workspaces

    • Archiving 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_context only 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|searchtessl install|search

  • tessl registry synctessl install --project-dependencies

  • tessl registry publish|unpublish|archivetessl tile publish|unpublish|archive

  • tessl versiontessl --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 -json for 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 agent via npx will now configure mcp to use tessl via npx, 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 uninstall to easily uninstall tiles.

Improvements

  • Improved error messages for the add-member command to enhance clarity.

  • Improved tessl status output to better reflect post-generation changes.

  • Aligned arguments for tessl registry unpublish and tessl 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-info Command: CLI-only users can use this command to add details that Tessl tools require to AGENTS.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 steering section in their manifests. These rules are automatically aggregated into a RULES.md file.

  • Local Usage Spec Installation: Added support for installing tiles from local directories via a new source field in tessl.json.

Improvements

  • Simplified usage spec installation paths by removing version info from the directory structure.

Bug Fixes

  • Fixed config list to return empty results instead of throwing errors when no config file is present.

0.26.0

New Features

  • Selecting Cursor during tessl init or via tessl setup agent will now automatically install rule files into .cursor/rules/tessl/framework as 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 -help output for tessl init now 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 pino logger to remove a transitive vulnerability.

0.24.0

New Features

  • tessl registry sync to synchronize tiles from the registry.

  • tessl setup framework to switch between the full Tessl framework and “registry-only” mode.

  • tessl stamp to manually sync spec/code hashes after intentional edits so tessl status stops flagging them.

  • tessl registry search now matches by full tile name (workspace/name), making it easier to find your own tiles.

  • tessl registry list added to browse available tiles.

  • tessl document adds tests to spec by default.

Improvements

  • tessl status surfaces 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 edit now supports code files that have an associated @describe spec. Changes are made via the spec.

Improvements

  • tessl whoami command 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-specs directories are now removed during sync if the corresponding entries are removed from tessl.json.

  • Test generation is now controlled by a unified generateTests param, which always skips locked tests.

  • Improved list command usability, to make it easier for agents to select the right parameters.

  • tessl registry publish skips uploading irrelevant .md and .gitignored files.

Bug Fixes

  • tessl status no longer shows duplicated test paths.

  • Resolved issue where interactively selected tools weren’t able to run.

  • Fixed Goose setup, so that correct .gooserules configuration is used.

Deprecations

  • Removed deprecated annotations like @describes, @generates, and @satisfied-by.

0.22.1

Bug Fixes

  • Fixed a project language detection issue that would occasionally cause errors across different commands.

0.22.0

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

  • init now 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.

  • feedback is now gated to authenticated users, unauthenticated users can request support via email ([email protected]).

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 search with 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 observe command.

  • Fixed a deprecation warning on registry install.

0.21.0


Breaking Changes

  • Removed test generation from the build tool and introduced a new build-tests tool

  • The spec format has been updated to allow capabilities to contain requirements that don’t have [@test] links:

    • create and edit specs 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:

    • locked tests: capture functional requirements provided

      • Denoted by { .locked } next to the [@test] link or in a header containing [@test] links.

      • You can manually mark tests as locked or use tessl test to do it by passing --lock-tests.

    • impl tests: 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 .

    • draft tests: are untagged and could have been added manually or using edit or create

      • You can use tessl test --lock-tests to automatically lock all draft the tests from a spec when all tests pass.

  • Added flags to build-tests tool 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, and registry sync commands for working with Usage Specs.

  • Added a new test tool, to run all of the tests for a given spec.

  • Added generate-tests tool to add tests to a given spec.

  • Added experimental observe tool 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 init while logged out will set up AGENTS.md and framework files relating to the Tessl Spec Registry.

Global Config

  • config commands now support the --global flag, for updating the global Tessl config.

  • The global config now supports a shareUsageData key to allow for analytics opt-out.

Improvements

  • Cleaner output for build and build-tests with a final summary listing successful and failed specs.

  • Spec discovery for build is smarter: only builds specs with @generate links that actually need code updates.

  • Diagnostics suggestions now correctly use positional parameters (e.g., tessl build <spec>), and status accepts <spec> as positional.

  • Registry-only flows link to the Knowledge Index; usage spec manifest split into tessl.json (structured) and KNOWLEDGE.md (narrative).

  • Tessl MCP tools can now log detailed output to a file to reduce their output and avoid saturating agent context when the agent is instructed to do so.

  • Added --code and --tests filters to list command for finer control.

  • Made test tools spec argument positional in CLI commands.

  • status now splits diagnosed issues into errors and warnings and includes errors regarding spec parsing.

  • config set now validates keys before setting.

  • Updated spec syntax information in our system prompts:

    • Added context about our content tags: untagged (draft), locked and impl.

    • Removed un-used .dependencies and .dependency tags.

  • Updated Tessl framework content with clearer guidance on tessl test, status, and fix behavior.

  • version output is now cleaner and includes a hint to update if a new version is available.

  • The --spec argument in build is now positional.

  • Exposed modelName parameter in MCP tools

Bug Fixes

  • Spec selection no longer appears to “infinite scroll.”

  • infer-spec no longer swallows errors.

  • Fix loop now receives test results properly.

  • Reporter failures print helpful context (e.g., missing file paths) to the terminal.

  • Prevent generation of tests when using edit on code files.

  • Test-runner name generation validates input and throws on invalid paths.

  • Tessl framework files are now filtered from context provided to tools to prevent context poisoning.

  • Fixed issue where login could not be cancelled while polling.

  • Fixed truncated console logs when running in non-interactive/piped mode.

  • Fixed edit tool so context files are properly passed.

  • Fixed dependency verification to use correct @use path resolution.

  • Prevented whitespace-only messages from being sent to models.

  • Pass test results through fix loop iterations correctly.

  • Fixed an incorrect path in .tessl/.gitignore for session data storage.

  • Fixed init missing from global help.

  • Reject invisible characters from LLM interactions.

0.19.0


New Features

  • Adopted AGENTS.md standard (replacing TESSL.md) for unified AI agent configuration across your development workflow.

  • Improved Dependency Handling

    • verify-deps now runs automatically after code generation in the build process.

    • New specifyMissingDependencies flag can auto-update your spec with missing dependencies in tessl build and tessl edit.

    • New never option added to generation mode to skip file generation entirely.

  • tessl status enhancements:

    • Highlights whether a spec includes @generate or @describe annotations.

    • Added dirtiness diagnostic to detect out-of-sync code/test files.

    • Added diagnostic for missing AGENTS.md entries in tessl status.

  • Improved Spec & Test Management

    • Rewritten document tool with more intuitive behavior and support for complex specs.

    • Re-initializing a project now regenerates framework files.

Improvements

  • Removes setup language command; tools that require test commands now have a --test-command flag.

  • Removed description upon tool invocation.

  • Increased latest version check timeout in update command to reduce false negatives.

Bug Fixes

  • Logging in from an agent now automatically updates the MCP server so you can continue without restarting.

  • Fixed tool summaries not showing in CLI output.

  • CLI session data no longer prevents process exit after command completion.

0.18.1

New Features

  • build tool now has a post-generation fix loop to automatically resolve issues - we will be tweaking how we decide which test command to run in the coming week

  • New status checks for orphaned tests, mixed implementation links & missing required files

  • Added support for agent-native planning: agents now create and maintain .plan.md files automatically during planning.

Improvements

  • Removed --recursive option from status command for consistency with other commands

  • Replaced --rebuild-tests with --generate-tests to build to generate only missing, outdated or always (default is now outdated rather than missing)

  • Added --generate-code to build which behaves like --generate-tests but for code files (default is outdated, but is likely to change)

  • Generated code now includes self-hashing for integrity checking and better status reporting on modified files

  • Removed timestamps from generated code tags

  • Improved logging and error messages across tools

  • Improved exception messages to include more debugging context

  • Better editor detection and logging in planning workflows

  • Clarified descriptions for several commands & tools

  • Tools invoked via MCP now return more information about their run, improving feedback visibility for agents

  • The build tool now returns a failure exit code when the fix loop fails, ensuring accurate signaling of build status.

Bug Fixes

  • Fixed update command in Linux when using npm

  • Fixed test generation messages saying “tests” instead of “test files”

Deprecations

  • Removed ability to edit plan files directly via the edit tool; users now receive a clear error if they attempt to do so.

  • Made the plan tool private to reduce confusion and encourage agent-driven planning workflows

0.17.1

Bug Fixes

  • Fixes creation of the Claude subagent instructions directory as part of setup agent

0.17.0

New Features

  • Enabled tessl status to list all specs by default, providing broader project insights.

  • Updated tessl status to include sync checks that detect whether a spec's code and tests are up to date.

Improvements

  • Updated build and document tool descriptions for clarity and accuracy.

  • Made the -spec parameter more explicit and consistently required in tessl status help output.

  • Renamed build tool's iterations parameter to maxIterations for clarity.

  • Renamed @build links to @generate to reflect intended behavior.

Bug Fixes

  • Fixed bash execution in the update command to work reliably across Mac and Linux.

  • Corrected error handling for expired keys.

  • Made terms and conditions check respect a global directory set via environment variable.

  • Fixed a crash in tessl status when a non-existent or empty spec file is provided.

  • Resolved incorrect logging of issue counts in single-spec status output.

  • Improved handling of file paths in the document tool to normalize inputs like ./path/to/file.

Last updated