---
title: "Console messages"
method: GET
path: "/v1/browser/console"
tags: ["Browser"]
---

# Console messages

`GET /v1/browser/console`

## Request

- Base URL: `http://localhost:9998`
- URL: `http://localhost:9998/v1/browser/console`
- Auth: HTTP bearer

Returns the 100-item ring buffer of console messages.

## Response `200`

Console messages

- object[]
  - `type` string
  - `text` string

## Other responses

- `409`: No browser is attached. The envelope carries type `not_connected`, `remedy` (`browser_connect action:connect`) and `remedyPath` (`POST /v1/browser/connect`). Branch on `error.type`, never on the 409 alone — browser routes also return 409 for `conflict`, `dialog_pending`, `browser_consent_required` and the workspace refusals `target_leased`, `instance_unknown` and `resource_admission_full`, and a retry keyed on the status mints a second OS consent prompt.

---

[API](https://skmtc.dev/modelpiper/apis/toolpiper-api.md) · [All operations](https://skmtc.dev/modelpiper/apis/toolpiper-api/llms.txt) · [OpenAPI document](https://skmtc.dev/modelpiper/apis/toolpiper-api/revisions/6722bf56385c?raw)
