# libtmux.workspace:read-workspace

**Workspace Manager concept example** A working example of the core library. It can change without notice.

- **Package:** libtmux/workspace
- **Language:** Common Lisp
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-lisp/blob/c2e5fc4ed3befda21f45dfa5d5868c38fd138311/src/workspace.lisp#L988
- **Public owner:** libtmux.workspace
- **Page:** https://libtmux.org/en/lisp/latest/workspace/reference/libtmux-workspace-read-workspace/

```
(read-workspace path &rest options &key (max-input-bytes +default-max-input-bytes+) &allow-other-keys)
```

Read one bounded regular UTF-8 JSON file and return an owned WORKSPACE.
PATH is opened for input and never modified. MAX-INPUT-BYTES is enforced on
bytes read even if the file changes after opening. The descriptor is opened
nonblocking, then directories and special files are rejected before reading.
Other OPTIONS are forwarded to PARSE-WORKSPACE. Signals
INVALID-WORKSPACE-DOCUMENT or WORKSPACE-LIMIT-EXCEEDED and closes the stream.

See also: `libtmux.workspace:parse-workspace`, `libtmux.workspace:workspace-data`.

## Parameters

- `path`
- `options`
- `max-input-bytes?`

## Guides

Pages that discuss `read-workspace`.

- [Workspace guide](/en/lisp/latest/workspace/source-guide/)
