# Show HN: tgv: Genome viewer for you and your agents

> Source: <https://github.com/zeqianli/tgv>
> Published: 2026-10-10 03:12:19+00:00

## 0.4.0.mp4

tgv (Terminal Genome Viewer) is blazing-fast. Your SSH session is no longer a black box.

- Navigate genomes with vim-style commands (but the mouse works too).
- Rich file format support: BAM, VCF, BCF, BED, bigBed; object storage (s3); and any UCSC reference genome.
- tgv GUI coming soon.

| Before tgv: agents draw questionable ASCII art. | After tgv: agents explain the analysis in an interactive session. | 

tgv organizes messy omics data to a [performant data engine](https://pola.rs/posts/release-polars-2/) that's fully exposed to agents through MCP. A multi-omics analysis takes a few lines of SQL queries.

- No more glue scripts chaining `samtools` ,`bcftools` , and`awk` .
- No more off-by-one bugs from mixing 0-based and 1-based tools.
- No more wasted tokens.

Note

tgv is in early development. Please report bugs and we will fix them asap.

- cargo: `cargo install tgv --locked`
- brew: `brew tap zeqianli/tgv && brew install tgv`
- bioconda: `conda install bioconda::tgv`
- Pre-built binaries: [GitHub Releases](https://github.com/zeqianli/tgv/releases/)

Install tgv MCP:

- Codex: `codex mcp add tgv -- tgv mcp`
- Claude: `claude mcp add tgv -- tgv mcp`
- Others: ask your agent

```
# Browse the hg38 human genome (internet needed)
tgv
```

- `:q` : Quit
- `h/j/k/l` : Left / down / up / right.`H/J/K/L` for faster navigation
- `W/B/w/b` : Next gene / previous gene / next exon / previous exon
- `z/o` : Zoom in / out
- `/_gene_` /`/_chr_:_position_` : Go to a gene (e.g.`/TP53` ) or a position (e.g.`/1:2345` )
- `_number_` +`_movement_` : Repeat movements (e.g.`20B` : back 20 genes)
- `:ls` : Switch chromosomes
- `:e _file_` : Open more files, or drag them into the terminal
- Mouse: click, scroll, drag and hover.

If you use a reference genome frequently, downloading a local cache is highly recommended. This makes TGV much faster.

```
# The cache is in ~/.tgv by default.
tgv download hg38
```

Browse alignments:

```
# View file aligned to the hg38 human reference genome
tgv file1.sorted.bam s3://my-bucket/file2.sorted.bam variants.vcf intervals.bed

# BAM file with no reference genome
tgv non_human.bam -r 1:123 --no-reference
```


