Lobster AI 1.2.2
What changed in Lobster AI 1.2.2, and its known limitations.
This page lists the changes in Lobster AI 1.2.2 and its known limitations.
Installation
uv pip install "lobster-ai[full]==1.2.2"Non-interactive Omics-OS Cloud setup
Lobster AI 1.2.2 adds non-interactive flags for selecting the local omics-os
gateway provider, so agents, CI pipelines and scripts can configure local
Python inference through an Omics-OS Cloud account without a third-party
provider key:
export OMICS_OS_API_KEY="..." # from app.omics-os.com/account
lobster init --non-interactive --use-omics-os --skip-extras --skip-ssl-test
lobster status # shows configuration, not account proof
lobster agents list # inspect installed task agents--use-omics-osresolvesOMICS_OS_API_KEY, then the active saved Python profile, then (workspace mode) CWD.envand globalcredentials.env.--globalskips the CWD file.--omics-os-key <key>takes precedence but can expose the key in process arguments; prefer the environment variable.- Do not combine Cloud setup with another provider's flags — the other explicit provider takes priority.
Saved, not checked
Init's success message means saved, not checked. It persists configuration
but does not verify account access, key validity or inference. In lobster status, Account Access: Not checked (configuration only) is configuration
display, not authentication proof. Stop on an unexpected provider, missing task
agents or setup errors; "already configured" means no rewrite, not a new key
rotation or an authentication check.
lobster config-test --json invokes a paid LLM test, may contact NCBI and
writes a workspace probe. Run it only with explicit permission. Require exit 0
and JSON valid: true; for a Cloud setup also require
checks.llm_provider.provider: "omics-os".
Credential file permissions
Init's secret .env and global credentials.env writers create files at
0600 and tighten existing rewrites to 0600 before truncating or writing
data. A no-force init finding an owned regular POSIX secret file may also
tighten it to 0600 without changing credential bytes; if that fails, init
warns with a manual chmod 600 command and the original exit status is
unchanged. A restrictive umask is defense in depth, not the only protection.
Runtime credential loading does not repair legacy file modes, and POSIX mode
protection is not a Windows ACL guarantee. Keep credential files and backups
private and out of version control.
LOBSTER_CLOUD_KEY remains a legacy supplement: the cloud-processing service
it connected to is no longer offered. If it is set, lobster chat and
lobster query try to connect at startup and then continue in local mode, so
leave it unset. It does not select the omics-os gateway.
Managed Omics-OS Cloud sessions
The npm CLI @omicsos/lobster (0.4.2) is a separate route for managed
server-side sessions where agents run in Omics-OS Cloud, not locally. Sign in
with lobster cloud login --device. Multi-agent Cloud analyses are under
investigation; not all local-engine workflows are available in a managed Cloud
session yet. Signing in with npm does not install or configure the local Python
engine — for local Python inference with a Cloud account, use the
lobster-ai package and the --use-omics-os init flags above.
Known limitations
Omics-OS Cloud sign-in
- The Python package's
lobster cloud logindoes not start a supported browser flow in this release. For a managed Cloud session, use the npm CLI@omicsos/lobsterandlobster cloud login --device. For local Python inference with a Cloud account, uselobster init --non-interactive --use-omics-os.
Data import
- The GEO download does not yet pick the expression matrix of series that ship
only a gene-by-cell text file, for example GSE109564. Workaround: read the
downloaded file yourself with pandas (
pd.read_csv(path, sep="\t", index_col=0), which gives genes × cells), build an AnnData with cells as observations, write it withwrite_h5ad, and load the.h5adfile in Lobster. - Some compressed GEO text matrices are refused when a few row labels are not
recognized as gene names (such as
HGNC:12345,Y_RNAorMetazoa_SRP), even if the other labels are. Settingtransposeexplicitly does not change this. - If saving a required GEO import fails (for example, disk full), that queue entry cannot be retried in the same session, and a partial file may remain in the workspace. Remove the partial file from the workspace and start a new session.
Differential expression results
- DE results with "/" in a comparison group label can become unavailable through their saved result pointer after an H5AD save and reload. Use group labels without "/" before running DE; renaming a dataset or export file afterwards does not repair results that already exist.
Notebook export
- After you resume a saved session, a pipeline exported with
/pipeline exportcan contain some steps twice, so the exported notebook may repeat filtering or normalization. Check the notebook before you run it again.
Bulk differential expression
- The direct bulk DE tool (
run_bulk_de_direct) applies an out-group expression filter by default, which is designed for marker genes. On typical bulk data it can remove most genes; if it removes all of them, the tool refuses and says so. For bulk designs, userun_de_with_formula.
Custom code
- Custom code (
execute_custom_code) runs locally with your own user permissions. Enable it only for agents you trust with your workspace. - The value your code returns as its result may be at most 16 MiB. If it is larger, Lobster reports that the result could not be read and saves no figure from that run. For large outputs, write them to a file in your workspace or store them as a dataset, and return a short summary instead.
Figures
- Creating the same HTML view twice at the same moment can leave a duplicate view.
- If Lobster cannot remove an old figure revision's file from disk, the file stays in place and keeps using disk space.
- Local figure deletion is not yet available as a CLI command or agent tool.
- The classic terminal plot dashboard does not list figures saved by custom code; the native figure listing does.