---
title: "Hand a bug to Helix and get a pull request"
description: "Fix with Helix dispatches a sandboxed agent that clones the repository, fixes the bug, runs the project's checks, and opens a pull request — with your secrets written per environment."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.heizen.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Hand a bug to Helix and get a pull request

Studio has known what a bug is for a long time. It can now do something about
one.

## Fix with Helix

Open a bug and choose **Fix with Helix**. Studio dispatches a one-shot sandboxed
container that pulls everything it needs for the run in a single call — the bug
text, its screenshots, the repository, the branches, a short-lived token and the
project's secrets — then clones the repo, works the fix, runs whichever checks
the repository declares, pushes its own branch, and opens a pull request. The PR
is linked back onto the bug and the bug is marked **Fixed**.

Progress is relayed live to a collapsible panel on the bug, so you can watch the
run rather than wait on it.

The agent is deliberately boxed in: push, remote, `gh`, `curl` and network tools
are denied to it and the runner performs the push and the PR itself. Every
outbound message is redacted, and failures are always printed so a container
that dies before reporting still leaves a trace.

## Secrets with environments

A secret set now carries an environment tag — `local`, `dev`, `staging`, `ci`,
or `prod` — along with its repository and directory. Several sets can share one
environment and each writes its own `.env` at its configured path, `0600` and
excluded from git so they cannot reach a commit. Choosing a repository and
environment for a run writes every matching set where it belongs.

The secrets page was redesigned around this: the environment selector shows just
the name, the settings sheet became a resizable side panel, and the card surfaces
the environment tag, repository, and directory.

## Also in this release

- Meeting recordings load faster and play reliably: the extension prefers WebM
  over the fragmented MP4 Chromium produces without an AAC encoder, durations
  are recomputed for WebM, manual uploads read duration from a real media
  element, and WebM uploads are accepted by the server.
- A recording whose file has not finished uploading says so, instead of a
  generic source-not-supported error.
- Incomplete agent runs are handled safely rather than rendering a half-state.

Source: https://docs.heizen.work/releases/1-14-3/index.mdx
