Repository navigation
v2.7.0
Install
curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh # Linux, macOS
brew install JeremiahM37/tap/lectern # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.7.0
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.7.0Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.
Changelog
- 67e028e A simpler web app: Sessions home, four-page navigation, one status and approval component, Start an agent with a folder picker, Settings Basics, commit on a new branch, Connect your phone, Enter sends
- 4d7c6f5 API for a simpler web app: one session status, folder browser, phone addresses, commit on a new branch, demo agent, ask by default on new installs
- af367b2 Accept a git name and email with a commit instead of sending people to git config
- db41479 Accept older Python wording for trailing-comma JSON errors in the parity test
- a3bed15 Add Python-compatible JSON, path and process helpers for helper ports
- 41478de Add lectern demo and point there when no agent is installed
- 182699f Add lectern ptyhost, a PTY keeper that outlives the server
- 23dec17 Add lectern update: install a GitHub release in place, checksum-verified
- f475bab Add target environments and the lectern helper subcommand
- 867f7c2 Add the pty session backend and serve web terminals without ttyd
- 8d65dce Ask for a git name and email in the terminal commit form
- 8208cab Attach bar in plain words: Ctrl+] shows the keys that follow it, Ctrl+] d leaves, Ctrl+] ? lists every attach key
- e13e858 Attach through the target's backend from every terminal endpoint
- 26c7672 Attach without tmux: Lectern draws the session with the same key bar, Ctrl+] keys, needs-you note, links, panes and clipboard
- 9c4693f Browser tests for the simpler desktop sidebar, chat ⋯, commit result, inline git identity and the terminal approval strip
- 418e4f0 Browser tests for the simpler web app: the audit's seven walkthroughs at 1440 and 390 px, first run, light/dark sweep of the new screens, updated navigation and wording
- b262942 Build the helper parity tests only on Unix
- ab3e664 Chat: keep the header to name, status and close; put usage, tests, agent switching and text size behind ⋯ in plainer words
- 5b98a4b Check the README's version badge only when it has one
- 9270d85 Check the agent is installed before Revive closes the old terminal
- 2410309 Check the socket guard in child processes without /bin/sh, so it runs on Windows
- 1dbdab1 Close disposable capture shells after recording
- 0d0535e Commit tab: ask for a git name and email inline, draft a message only when asked, and say where the commit went
- a368b46 Commit tab: show a refused name or email under the fields, credit fallback drafts plainly, tuck push, amend and PR under Options, and say when there is nothing to commit
- 1775a1e Dashboard e2e reads the described project, not its record
- 1e87ecf Deny with n on an asking session and offer tmux discovery only where tmux exists
- a6977ad Design a session backend seam and a built-in PTY host
- e966625 Design doc: the shared status words and what was built
- 561cc66 Design for a simpler web app: navigation, first run, status words, approvals, settings, commit, phone
- 3990f0d Design: simpler terminal dashboard and attach bar
- ded8ff1 Docs for the simpler web app; the start sheet asks while the default loads; tests follow Sessions as home and the new words
- 2f35bb4 Docs: browser sign-in for the local runtime, where serve listens, ttyd, help and update
- eb5c66a Document the PTY host, term-server and what agent machines need now
- 86d4bb7 Don't toast the 401s the access-token dialog already explains, and check the current first run in the Docker release test
- 4438a20 Drop the ttyd prompts now that the web terminal is built in, and stop asking for tmux and python3
- e22c4bc Exercise portable attachment controls on native Windows and macOS
- 03ca735 Fall back to the suggested commit message when a draft is not one
- 814c5b5 Follow the device's light or dark setting by default
- 3fe00c3 Format the demo command and the synonym table
- 8aa5732 Give Go and Git Bash the same file for /tmp paths on Windows
- 3c2e1ab Give terminal programs the environment ttyd and tmux gave them
- c7d5483 Give the desktop sidebar the phone's three items and a More group
- deba06a Have the attach-test popup report through a file, not the screen
- 4956a09 Help and guide name Ctrl+] d as the way to leave
- 125eddc Hints for terminal links, and feedback when one opens
- fc68c6d Keep a server's database in the state directory, and make local status and controls readable without a terminal
- 3916550 Keep a session's secrets off its command line and off a dead agent's screen; the plain pty attach never sends Ctrl+\
- 72fd2be Keep chat anchored, follow renames, and fit the calmer Sessions page to the suite
- 2aa9461 Keep keys pressed while the attach client takes the Windows console back
- ece6193 Keep the full suite steady at 24 CPUs
- d3524f0 Keep the smoke test's lectern.exe out of the test's temp directory
- 040e22f Keep the two Python-compatibility shims in helpers apart
- 2467966 Lead the README with a quick start for each OS
- c9e9ea8 Let a phone on this Wi-Fi connect in one click, and add lectern phone
- d5e52e0 Let helpers ask the target's session backend about a pane
- 47ab82a List n deny and the attached approval keys in the terminal help
- de68b85 Lock the local runtime to its own browser, keep serve off the network without sign-in, and give every command its own help
- da57108 Make first sessions, terminal controls and phone pairing work by default
- 063011d Make the socket guard and plugin tests independent of drive paths, dialog timing and the device theme
- a7f5586 Merge branch 'connect-ui' into ptyhost
- 1e7243f Merge branch 'connect-ui' into ptyhost-win
- 919703c Merge branch 'connect-ui' into simple-tui
- 27b37d8 Merge branch 'ptyhost' into connect-ui
- 390c8c8 Merge branch 'ptyhost-helpers-hooks' into ptyhost
- d1d402e Merge branch 'ptyhost-helpers-native' into ptyhost
- 53daa8e Merge branch 'ptyhost-helpers-workspace' into ptyhost
- 88ff1e6 Merge branch 'ptyhost-win' into connect-ui
- 7ed44cc Merge branch 'simple-core-3' into connect-ui
- 696c238 Merge branch 'simple-docs' into connect-ui
- 99b5234 Merge branch 'simple-fe' into connect-ui
- cd00012 Merge branch 'simple-tui' into connect-ui
- 482aa11 Merge branch 'simple-tui-2' into connect-ui
- 162602a Merge branch 'simple-web' into connect-ui
- 22c298b Merge branch 'simple-web-2' into connect-ui
- 2dab27b Merge connect-ui into simple-web; Start an agent opens on the lectern up project
- 39bc5d3 Merge origin/main into connect-ui: one first-session, phone and navigation story
- d97f91e Move internal process records under docs/internal
- 7fdd670 Name either relay when a bridged dial ends early
- 292fbda Name lectern with forward slashes on Windows
- d4d18bb Narrow the Windows worktree gap in the PTY host doc
- 23ab1ee Never end a session because a different backend cannot see it
- 973c9cf Offer to find tmux sessions only where tmux is installed
- bc87936 One Getting Started page, and docs that match the product
- 4ae6fc6 Open commit Options before checking push, and check the quickbar in dark mode now the theme follows the device
- c8a6c40 Open the saved-conversation picker straight from lectern restore
- 5e72e6e Paths in chat messages open like terminal links; docs for hints and feedback
- 8ac562c Plain words left over from the re-audit: no project, work in progress here, the chat's status; docs for attaching without tmux
- 69dc2e5 Point verify's UI checks at the simpler layout: Sessions home, Tasks board, Settings tab
- 96140b5 Port the MCP runtime install and Gemini workspace helpers to Go
- daf1df4 Port the cookies-file import to Go
- 90fdd3e Port the native identity, conversation and search helpers to Go
- 35f9c17 Port the owned-worktree scripts to Go helpers
- ff2efea Port the realpath, ports and loopback relay helpers to Go
- cdf4cdf Port the review, review-git and workspace-files helpers to Go
- d2f521c Port the workflow staging and skills helpers to Go
- 28a7406 Present Lectern as a control plane with current workflow demos
- 08fd3ac Put every tmux interaction behind a session Backend
- a9a7c49 Quick-shell test finds the action through the palette
- ca0f1b6 Read the process table only for formats that need it
- 3a0b307 Rebuild the web bundle after merging the round-two simplicity, terminal and Windows branches
- e04df56 Rebuild the web bundle after merging the simpler sidebar, commit and terminal-approval changes
- 945738f Record deployment and native Windows/macOS verification
- 81bac74 Record the before/after walkthrough numbers in the design
- c465418 Refuse agents that aren't installed, expire approvals with their session, and let the demo ask once
- 83a5a96 Release 2.7.0
- 67f77d3 Replace homelab specifics in user docs with generic examples
- 1fef17d Round two of the simpler web app: installed agents only with the demo standing in, own-folder commit warning and a real message, chat keeps its last line, sessions named by project and topic with inline rename, a calm Sessions page, three-item navigation
- e125d38 Run agent hooks, drivers' pump and trust helpers in Go on targets with lectern
- bb62446 Run the Lectern server natively on Windows
- bd5ca2c Run the native PTY tests from one workflow and gate releases on them
- d279dac Run the native helpers in Go on targets that have lectern
- 2547864 Run the real file, review and git API tests against the Go helpers
- 1cbf0c2 Run the real session tests against both backends
- ef49ce2 Say a missing git name and email before the folder moves, not after
- 2e4714e Say how to install the terminal viewer, make up truthful, and make doctor pass a working setup
- ae94a13 Say python3 is optional, and list the workspace helpers
- b4d63b5 Send a local runtime's agent hooks to its own port, and have doctor prove it
- 4c13e2a Settings: quiet the advanced section tabs so Basics leads
- 3817062 Show a pending approval above the web terminal, with Y, A and N keys
- bf174ed Show all desktop navigation directly in the sidebar
- 2fa0671 Show an approval's command once, under a plain heading
- f8d3ab5 Skip the real-terminal attach test in plain go test on Linux; the isolated runner runs it
- 2416ffc Suggest the command people mean by pair, resume and similar words, and name the Windows startup entry
- 9dbfce9 Terminal dashboard: a key bar that shows what works here, short menus and a palette, one-key approvals, end and restore keys, a one-screen New session
- 5759a32 Terminal status words from the shared vocabulary; commit from review offers a new branch on main
- a52a115 Terminal walkthroughs as e2e tests, the existing terminal tests on the new keys, and the terminal guide rewritten for them
- 21aba23 The attach bar says when the session needs you; Ctrl+] m answers the approval and returns to the agent
- 28814dd Use the server's tmux_installed to decide whether to offer finding tmux sessions
- b857877 Wait for the requeued hold in the account fallback test, and describe the shorter sidebar in verify
- c214184 Walk a new user through a whole first session in Getting started
- ec9c5d0 gofmt
- a7b5b86 gofmt
- 2253afd lectern claude/codex add the folder's repository as a project, and refuse an agent that isn't installed