Skip to content

Releases: tns15june/langfuse-agent-cli

lf 0.4.2

Choose a tag to compare

@tns15june tns15june released this 26 Oct 04:29
fcd39c8

Fix

  • lf upgrade now bypasses the package index cache (uv tool upgrade --no-cache, pipx upgrade --pip-args=--no-cache-dir), so a release made minutes ago is found. Afterwards it reads the launcher's version: if nothing changed but PyPI lists a newer version, it says so and exits 1 instead of running lf setup on the old version; if you are already on the latest version, it says that and continues with the setup check.

Found by upgrading a real machine from 0.4.0 to 0.4.1, where uv answered "Nothing to upgrade" while lf doctor reported 0.4.1 available.

Upgrade

lf upgrade          # on 0.4.1, run it twice if the first run says nothing changed

lf 0.4.1

Choose a tag to compare

@tns15june tns15june released this 26 Oct 04:22
0b41272

Fixes

  • lf upgrade and lf uninstall no longer pass your LANGFUSE_* variables to the programs they start (uv, pipx, the skills CLI), as lf setup already avoided. The follow-up lf setup after an upgrade keeps your environment, because it reads the credentials from it.

Docs

  • Releasing instructions follow the repository's pull-request-only main.
  • SECURITY.md lists exactly which programs lf starts and which hosts it contacts.
  • Exit code 130 (Ctrl-C at a prompt) is documented; the help catalog names every reason lf setup exits 1; the agent install guide marks the one-line installer as macOS and Linux.
  • The RFC gains proposal 4: a readable shorthand for the metrics API, which lf metrics prototypes.

Upgrade

lf upgrade

lf 0.4.0

Choose a tag to compare

@tns15june tns15june released this 25 Oct 15:28

Ask in plain English

Your coding agent now answers questions like "Why did my LLM app fail in the last hour?", "What did we spend on each model this week?" and "Which step of my agent is the slowest?" from your Langfuse data. The skill was rewritten around the questions people ask, with agent examples for each kind of question. In a test, ten fresh Claude Code sessions with only the skill installed each answered a different question correctly.

What's new

  • lf metrics: cost, tokens, latency percentiles, error counts and scores, aggregated over a time range (--metric, --by, --where, --granularity, --from-ts/--to-ts, --order-by, --limit, --view). It uses Langfuse's metrics API and was run against Langfuse 4.30 and 4.70.
  • One-line install on macOS and Linux: curl -fsSL https://tns15june.github.io/langfuse-agent-cli/install.sh | sh. It installs lf with uv or pipx (installing uv first when you have neither) and runs lf setup.
  • Agent install guide: tell your agent "Install langfuse-agent-cli using https://tns15june.github.io/langfuse-agent-cli/AGENTS.md". The guide follows the rules agents need: never handle keys, run lf setup --yes, ask before removing or upgrading.
  • lf upgrade upgrades lf with the tool that installed it, then installs the matching skill. lf uninstall removes the skill, the saved profiles and lf itself; --dry-run shows the list first, and it judges the skill removal by what is left on disk.
  • lf setup is safe to run again: it keeps working credentials, skips a skill that is already installed for this version, takes --profile-name for a second Langfuse instance (the new profile becomes the current one), and ends with questions to try.
  • lf doctor shows where lf is installed, whether a newer version is on PyPI (or why it could not check), and whether the installed skill matches your lf version.

Also

  • lf metrics rejects a filter value of the wrong kind before asking the server, and says on stderr when it used the default 24-hour window.
  • Ctrl-C at any lf prompt ends quietly; Ctrl-D means "no".
  • Commands that cannot finish without a terminal, such as creating a new profile with --yes, no longer end with a success message.

Upgrade

lf upgrade          # from 0.4.0 on

From 0.3.0: uv tool upgrade langfuse-agent-cli or pipx upgrade langfuse-agent-cli, then lf setup.

lf 0.3.0

Choose a tag to compare

@tns15june tns15june released this 25 Oct 12:09

What's new

  • --output-summary: JSON output larger than 16 KB is written to a private temp file, and the command prints a short summary instead ("summary": true, the file path, its size, the row count and the keys). Smaller output is unchanged.
  • lf setup: keeps working credentials or asks for them, installs the agent skill that matches this version (through npx skills), and runs lf doctor. lf setup --yes never prompts, so coding agents can run it.
  • INSTALL.md: installation steps a coding agent can follow.
  • On PyPI: pipx install langfuse-agent-cli or uv tool install langfuse-agent-cli.

Fixes from review

  • lf setup never replaces saved keys unasked. It offers a login only when a saved profile is missing or its keys are rejected, and never for keys from LANGFUSE_* variables, --env-file or key flags, which take precedence over profiles.
  • lf auth login refuses empty keys.
  • lf setup exits 1 when the skill could not be installed.
  • Lone UTF-16 surrogates in server data are printed escaped instead of stopping the output.

Upgrade

pipx upgrade langfuse-agent-cli && lf setup   # or: uv tool upgrade langfuse-agent-cli && lf setup

lf setup installs the skill version that matches the CLI, so run it after each upgrade.