Laura
Laura is a TUI workspace that provides your agent with an API over the TUI, allowing your agent to dynamically tile panes while you pair-program.
Your agent can open the file you're discussing, the plan you're following, the diff you just made, or tail logs of your running service. Laura supports every coding agent CLI and agents learn how to use the CLI through agent skills.
Laura lets you:
- Stay in the flow - view a file, a plan, a diff, or a log right in the TUI, without switching windows between the terminal, IDE, and browser.
- Compose the TUI - your agent tiles the workspace from your natural-language conversation through the
lauraCLI and skills — panes dwindle automatically, each open splitting off the newest. - Pick your coding agent CLI - Laura hosts a shell your agent runs inside without abstraction, so every CLI and model is compatible.
- Interact in every pane - mark up any pane in place and inject the review straight into your conversation.
- Learn while staying focused - your agent shows and explains concepts live, step by step.
How it works
Laura runs your agent CLI in a PTY and provides a set of agent skills you or your agent invoke. The skills instruct the agent on how to use the laura CLI, which drives the TUI over a small line-based protocol on a per-agent socket. See the protocol reference to learn more.
Quickstart
1. Install Laura. Requires Rust (stable); installs a laura binary:
cargo install laura-tui --locked # Rust
uv tool install laura-tui # uv/pip
Both drop a laura binary on PATH. Or from a clone: cargo build --release --locked → target/release/laura.
2. Install the skill so your agent knows how to drive laura. In Claude Code:
/plugin marketplace add thomaseleff/laura-tui
/plugin install laura@laura-tui
3. Start Laura and run the interactive demo:
laura -- claude "/laura:demo"
4. Work with your agent. Chat as you normally would. Ask it to show you a file, a plan, or a diff. Your agent will leverage the skills to tile panes alongside your chat. Comment on a line in place and submit; your review goes straight back into the agent's chat.
Panes are live-watched: edit the source and they re-render. Markdown renders with terminal styling; other files show their content with syntax colours, and lines changed since git HEAD are marked in the gutter.
See the tutorial for a first session and navigating the TUI for the keys. Reference lives in the CLI reference for the verb set, the protocol reference for the wire format, and the agent reference for the recipes your agent drives on your behalf.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file laura_tui-0.8.0-py3-none-win_amd64.whl.
File metadata
- Download URL: laura_tui-0.8.0-py3-none-win_amd64.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b47ecdf68ce329edb871bd926568d7443d8eab4519b1f05f0518d898b65edae2
|
|
| MD5 |
ded530e24dce8ecdc7f1aee9294f2e13
|
|
| BLAKE2b-256 |
a2ef65513057dac5d5ebf1552453e7b549e905d663240aea1680f4662b6b08a6
|
Provenance
The following attestation bundles were made for laura_tui-0.8.0-py3-none-win_amd64.whl:
Publisher:
release.yml on thomaseleff/laura-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laura_tui-0.8.0-py3-none-win_amd64.whl -
Subject digest:
b47ecdf68ce329edb871bd926568d7443d8eab4519b1f05f0518d898b65edae2 - Sigstore transparency entry: 2870624284
- Sigstore integration time:
-
Permalink:
thomaseleff/laura-tui@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thomaseleff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file laura_tui-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: laura_tui-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f8769228f45e297fcf5d1d5957e45166a62f74fabb00ec3aa083cce084863cc
|
|
| MD5 |
4ba0c8b19ee9028d33c08b1318cbf8ee
|
|
| BLAKE2b-256 |
6be53d80318ddefe482112539d2ac964a5c1c759edf13fa100fe89498a81dae4
|
Provenance
The following attestation bundles were made for laura_tui-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on thomaseleff/laura-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laura_tui-0.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
7f8769228f45e297fcf5d1d5957e45166a62f74fabb00ec3aa083cce084863cc - Sigstore transparency entry: 2870625858
- Sigstore integration time:
-
Permalink:
thomaseleff/laura-tui@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thomaseleff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file laura_tui-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: laura_tui-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99b32686c9db73a7c154851b6c9b064725021fc15742f27e8e01e8df503ecb43
|
|
| MD5 |
e6824b154f1792ca349d0fde19a561b2
|
|
| BLAKE2b-256 |
32015a3dfd671b506a163246e87a7c4883edc7952e6fe50931b47fcde68bffb5
|
Provenance
The following attestation bundles were made for laura_tui-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release.yml on thomaseleff/laura-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laura_tui-0.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
99b32686c9db73a7c154851b6c9b064725021fc15742f27e8e01e8df503ecb43 - Sigstore transparency entry: 2870622130
- Sigstore integration time:
-
Permalink:
thomaseleff/laura-tui@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thomaseleff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file laura_tui-0.8.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: laura_tui-0.8.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dfc31e07a09baf34e21307c2e268f53703bde0205b0d081507abc4c256b6bff
|
|
| MD5 |
88b54c50d45db01d4345ee523ab3472b
|
|
| BLAKE2b-256 |
a9ab82d90d555455270332f6f1fa16bd17c4bbde9bb25a6e013fc7d3a7e93fe7
|
Provenance
The following attestation bundles were made for laura_tui-0.8.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yml on thomaseleff/laura-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laura_tui-0.8.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
3dfc31e07a09baf34e21307c2e268f53703bde0205b0d081507abc4c256b6bff - Sigstore transparency entry: 2870622760
- Sigstore integration time:
-
Permalink:
thomaseleff/laura-tui@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thomaseleff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file laura_tui-0.8.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: laura_tui-0.8.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
febebfbd5352eb2f905a8992c00825aa98303751af589bd426a39df29d8c32d4
|
|
| MD5 |
c9e4c78dbdeb2f2529c38f2152be615f
|
|
| BLAKE2b-256 |
33ea90a3246a64491e19a2921bc623ef8d58c1ef955d48bac8defd80557a3f94
|
Provenance
The following attestation bundles were made for laura_tui-0.8.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
release.yml on thomaseleff/laura-tui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
laura_tui-0.8.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
febebfbd5352eb2f905a8992c00825aa98303751af589bd426a39df29d8c32d4 - Sigstore transparency entry: 2870624555
- Sigstore integration time:
-
Permalink:
thomaseleff/laura-tui@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thomaseleff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@508a5eeba3df997ee9c63a6af4105e522795a7e5 -
Trigger Event:
workflow_dispatch
-
Statement type: