Fullscreen Claude Code: Bebas Kedip, Dengan Pertukarannya

Sebuah jalur rendering alternatif yang menggambar antarmuka di alternate screen buffer milik terminal, seperti vim atau htop, dan hanya merender pesan yang sedang terlihat. Ia menghapus kedipan, menjaga memori tetap rata pada percakapan panjang, dan menambahkan dukungan mouse. Namanya menggambarkan pengambilalihan permukaan gambar, bukan memaksimalkan jendela Anda.
Find terminal Anda tidak bisa melihatnya, karena percakapannya hidup di alternate screen buffer. Tekan Ctrl+O untuk transcript mode, lalu garis miring untuk mencari, dengan n dan N untuk hasil berikutnya dan sebelumnya. Menekan tombol kurung siku menulis seluruh percakapan ke scrollback asli terminal Anda sehingga pencarian asli berfungsi lagi.
Ada tiga tingkat. Matikan Copy on select di /config untuk menyalin manual; setel CLAUDE_CODE_DISABLE_MOUSE_CLICKS untuk mempertahankan gulir roda tetapi membuang klik dan seret; atau setel CLAUDE_CODE_DISABLE_MOUSE untuk mengembalikan mouse sepenuhnya sambil mempertahankan rendering bebas kedip. Untuk seleksi sekali pakai, tahan tombol modifier terminal Anda.
Kemungkinan sebuah sesi fullscreen crash sebelum sempat mulai dengan sukses. Setelah satu kali gagal, Claude Code mencoba fullscreen lagi di sesi berikutnya; setelah dua kali, ia bertahan di klasik sampai Anda memperbarui Claude Code atau menjalankan /tui fullscreen — dan tidak mencetak apa pun di sesi-sesi berikutnya. Jalankan /tui tanpa argumen untuk melihat apakah gagal-mulai penyebabnya.
Ya, dengan tiga catatan. Gulir roda mouse butuh mode mouse tmux diaktifkan. Ia tidak kompatibel dengan mode integrasi tmux milik iTerm2, tempat alternate screen dan pelacakan mouse berulah. Dan rilis tmux seri 3.6 ke bawah tidak punya synchronized output, jadi Anda bisa melihat lebih banyak kedipan daripada menjalankannya langsung di terminal.

Ringkasan Utama
Fullscreen rendering menggambar Claude Code di alternate screen buffer milik terminal, seperti yang dilakukan vim, dan hanya merender pesan yang sedang terlihat. Kedipan hilang dan pemakaian memori tetap rata berapa pun panjang percakapannya. Ongkosnya, pencarian dan seleksi asli terminal Anda tidak lagi melihat percakapannya, karena ia tidak lagi berada di scrollback.
Saya beralih ke fullscreen rendering karena posisi gulir saya terus melompat ke atas selagi Claude bekerja, dan itu langsung teratasi sepenuhnya pada percobaan pertama. Lalu saya hendak mencari isi percakapan dengan fitur find terminal, dan tidak ada apa pun untuk ditemukan. Percakapannya masih ada — ia hanya tidak lagi berada di tempat yang bisa dilihat terminal saya.
Pertukaran itulah seluruh cerita mode ini, dan kedua sisinya bisa ditebus kalau Anda tahu jalan keluarnya. Tulisan ini membahas apa yang sebenarnya diubah fullscreen, bagaimana Anda bisa berada di dalamnya tanpa memilihnya, tombol transcript mode yang mengembalikan percakapan ke terminal, tiga tingkat untuk keluar dari mouse capture, serta penghitung gagal-mulai yang diam-diam mengembalikan Anda ke renderer klasik.
Fullscreen adalah jalur rendering berbeda, bukan mode jendela — namanya menggambarkan pengambilalihan permukaan gambar terminal seperti yang dilakukan vim, dan ia bekerja pada ukuran jendela berapa pun. Ia menggambar di alternate screen buffer dan hanya menyimpan pesan yang terlihat di dalam render tree, dan itulah sebabnya memorinya tetap konstan sepanjang apa pun percakapannya serta jumlah data yang dikirim ke terminal per pembaruan turun tajam.
Perbedaannya paling terasa di tempat throughput rendering menjadi hambatan: terminal bawaan VS Code, tmux, dan iTerm2. Cara tercepat mengetahui renderer mana yang sedang aktif adalah kotak input — kalau ia tetap diam di bawah selagi Claude bekerja alih-alih bergerak seiring keluaran mengalir, fullscreen sedang aktif.
Anda bisa berpindah di tengah sesi dan mempertahankan percakapannya, karena Claude Code meluncurkan ulang lalu membawa keadaan sesinya. Apa yang dibawanya spesifik, dan apa yang menghentikannya juga spesifik.
# Switch mid-session. Claude Code saves the tui setting and
# RELAUNCHES with your conversation intact.
/tui fullscreen
/tui default
/tui # print which renderer is active, and why
# Or before launch:
CLAUDE_CODE_NO_FLICKER=1 claude
# It carries over: the conversation as it appears on screen,
# your permission mode, effort level, the model you last picked,
# and your allowed-tools, agent and append-system-prompt flags.
#
# It REFUSES to relaunch when the session holds a restriction it
# cannot pass on — a --system-prompt replacement, a --tools
# allowlist, --setting-sources, or deny/ask rules a hook added
# for this session only. It prints the reasons and changes
# nothing.Peluncuran ulangnya membawa percakapan sebagaimana tampak di layar, dan itu penting setelah sebuah rewind. Kalau Anda melakukan rewind melewati tiga pesan terakhir, sesi yang diluncurkan ulang terbuka tanpa pesan-pesan itu — transkrip lebih panjang di disk bukanlah yang kembali. Lakukan rewind ke sebelum pesan pertama Anda dan Anda meluncurkan ulang dengan percakapan kosong. Layak diketahui sebelum Anda berpindah renderer untuk merapikan sesi yang baru saja Anda rewind.
Inilah bagian yang terlalu cepat orang menyerah. Percakapannya tidak hilang, ia berada di buffer yang tak terjangkau pencarian terminal Anda — dan ada satu tombol yang mengembalikannya.
Tiga hal yang bekerja berbeda, dan penggantinya masing-masing:
| Sebelumnya | Di fullscreen | Catatan |
|---|---|---|
| Find terminal atau pencarian tmux | Transcript mode, lalu garis miring untuk mencari | Atau tombol kurung siku untuk menulis semuanya ke scrollback asli |
| Seleksi klik-dan-seret asli | Seleksi di dalam aplikasi, disalin saat tombol mouse dilepas | Tahan tombol modifier terminal Anda untuk seleksi asli sekali pakai |
| Modifier-klik untuk membuka URL | Command-klik di macOS, Control-klik di tempat lain | Klik biasa sengaja tidak membuka tautan |
# The conversation lives in the alternate screen buffer, so
# your terminal's own search cannot see it. The way back:
Ctrl+O toggle transcript mode
/ open search; Enter accepts, Esc restores position
n / N next / previous match, even after closing search
{ / } jump to the previous / next PROMPT
g / G top / bottom
[ write the WHOLE conversation into your terminal's
native scrollback, tool output expanded. Now Cmd+F
and tmux copy mode work on it. Lasts until you exit
transcript mode.
v write it to a temp file and open $VISUAL or $EDITOR
/focus a quieter view: your last prompt, one line per tool
call with edit diffstats, and the final response.
Persists across sessions.
# You can scroll back past compaction. Claude works from the
# summary, but fullscreen keeps every earlier message in its
# own scrollback across repeated compactions.Mouse capture adalah titik gesekan paling umum, terutama lewat SSH atau di dalam tmux, karena copy-on-select terminal Anda berhenti bekerja — seleksinya hidup di dalam Claude Code alih-alih di buffer seleksi terminal. Ada tiga tingkat untuk keluar, dan kebanyakan orang meraih yang terbesar padahal yang lebih kecil sudah cukup.
# Mouse capture is the most common friction point, especially
# over SSH or in tmux. Three levels of opting out:
# 1. Keep everything, copy manually instead of on select:
# toggle "Copy on select" off in /config
# 2. Keep wheel scrolling, drop click/drag/hover:
CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1
# 3. Give the mouse back to the terminal entirely, keeping the
# flicker-free rendering and flat memory:
CLAUDE_CODE_DISABLE_MOUSE=1
# For a ONE-OFF native selection, hold your terminal's key:
# Terminal.app Fn
# iTerm2 Option
# VS Code and Cursor Shift (or Option on macOS with
# macOptionClickForcesSelection on)
# most others Shift
# Scroll feels slow? Some terminals send one event per notch
# with no multiplier. VS Code's terminal is one of them.
export CLAUDE_CODE_SCROLL_SPEED=3 # 3 matches vim's default
# Or run /scroll-speed for a live ruler you can feel.Claude Code memang menulis seleksinya ke clipboard sistem Anda, memakai jalur yang sesuai setup Anda: perkakas clipboard asli saat lokal, paste buffer tmux di dalam tmux, dan escape sequence terminal lewat SSH. Ia menampilkan toast setelah tiap penyalinan yang menyebut jalur yang dipakainya, dan itu cara tercepat mengetahui bahwa terminal Anda memblokir jalur escape sequence — iTerm2 memblokirnya secara default sampai Anda mengizinkan akses clipboard, dan perintah terminal-setup menyalakannya untuk Anda.
Fullscreen bekerja di dalam tmux, dan masing-masing hal ini akan terlihat seperti bug kalau Anda tidak mengetahuinya:
Kalau Anda melihat serpihan keluaran lama tertinggal di layar sampai jendelanya diubah ukuran, itu terminal yang menggabungkan penulisan inkremental secara keliru — paling sering Windows Terminal dan host berbasis ConPTY lainnya. Ada environment variable yang menggambar ulang setiap sel pada tiap frame alih-alih mengirim pembaruan inkremental, dan itu memperbaikinya dengan sedikit ongkos throughput.
Kalau sebuah sesi fullscreen crash sebelum sempat mulai dengan sukses, Claude Code menempatkan sesi Anda berikutnya di renderer klasik dan memberi tahu Anda. Sebuah sesi dihitung berhasil mulai begitu ia menggambar frame pertamanya lalu bertahan sepuluh detik atau diakhiri dengan sengaja. Setelah satu kali gagal, ia mencoba fullscreen lagi berikutnya; setelah dua kali, ia bertahan di renderer klasik sampai Anda memperbarui Claude Code atau meminta fullscreen secara eksplisit.
Itu layak diketahui karena keadaan kedua tidak mencetak apa pun di sesi berikutnya — Anda sekadar berada di renderer klasik tanpa penjelasan di layar. Menjalankan perintah tui tanpa argumen memberi tahu renderer mana yang aktif dan, selama gagal-mulai adalah sebabnya, menyatakannya di baris renderer saat ini. Itu selisih antara jawaban lima detik dan satu sore penuh kebingungan.
Tiga pertanyaan menuntaskannya, dengan urutan ini:
Fullscreen adalah research preview dan berperilaku seperti research preview yang baik: ia menyelesaikan satu masalah spesifik yang menjengkelkan secara tuntas, dan ia jujur soal ongkosnya. Dua tombol yang membuatnya bertahan bagi saya adalah toggle transcript dan tombol kurung siku yang menulis semuanya kembali ke scrollback asli — dengan keduanya, sebenarnya tidak ada yang hilang, hanya berjarak satu ketukan lebih jauh daripada sebelumnya. Kalau kedipan tidak mengganggu Anda, tidak ada alasan untuk berpindah.
Sumber & bacaan lanjutan