github amosblomqvist/learnharness v0.4.0
0.4.0

3 hours ago

New ways to use your models

  • Claude Code integration — connect an installed and configured Claude Code CLI, with an explicit opt-in in Settings → Providers. Authentication and billing follow the CLI's native configuration. LearnHarness tools, cancellation, and session isolation are integrated; CLI billing is not displayed as a free API rate. Based on #61.
  • Custom and local endpoints — configure one OpenAI-compatible endpoint with multiple models directly in Setup or Settings. Supports model discovery, manual model IDs, keyless/API-key modes, per-model token-limit overrides, and reasoning-support declarations. Custom-model pricing is shown as unknown, not free. Based on #62.

Better course-material handling

  • Desktop drag-and-drop file references — drop files into the content area to insert editable path chips into the focused learner editor, or the dictation destination when no editor is focused. Paths reference existing local files; this is not a browser upload or file copy.
  • More reliable image processing — bounded image processing for file reads, PDF pages, and visual-maker screenshots, with format/MIME handling, EXIF-aware resizing, and PDF canvas size guards before allocation.
  • Custom-model image delivery — image-bearing requests attempt to deliver pixels even when custom-endpoint discovery omits image-capability metadata. Backend rejection surfaces as an error rather than silently downgrading the request to text.

Fixes

  • Keep the question dock and submission engine aligned with the pending question, and preserve answer/reasoning drafts through streaming completion and synchronization. Based on #265.
  • Fix streamed math containing less-than comparisons being swallowed by unfinished-HTML preprocessing, without changing the original TeX. Addresses the rendering defect reported in #266.
  • Upgrade Next.js to 16.4.3, including the upstream fix for accumulating Gzip drain listeners (#245).
  • Add the Discord community link to the README.

Usage notes

  • Claude Code must be installed and configured separately; its LearnHarness integration is off by default.
  • Custom-provider token limits are metadata/overrides, not commands to resize the backend context. Reasoning-support declarations cannot universally disable a backend's default thinking. Tool/image quality still depends on the selected model and server.
  • This release does not include new Linux startup/launcher fixes or a resolution for the ChatGPT account/workspace access reports in #188. Those investigations remain separate.

Thanks

Thanks to Ivanko1608 for #61, Daniel Buckner and Abhishek Thakur for #62, Hadrien Cornier for #265, and everyone reporting and testing these issues. The image-processing work is ported from upstream Pi with its MIT attribution preserved.

Don't miss a new learnharness release

NewReleases is sending notifications on new releases.