-
도구 설정의 OAuth / 기본 인증 화면에 지금 로그인한 계정이 보입니다. 상단 상태 줄의 「로그인 계정」, 「현재 상태」 카드, 적용 요약, 트레이 빠른 전환의 기본 인증 탭에 me@example.com · Max처럼 이메일·요금제(개인 계정이 아닌 조직이면 조직 이름도)가 나와, 같은 도구에 여러 계정을 번갈아 쓸 때 어느 계정으로 실행되는지 알 수 있습니다. Claude Code는 claude auth status, Codex는 auth.json의 로그인 토큰, Pi는 ChatGPT(openai-codex) 로그인 토큰에서 프로필 정보만 읽고 토큰은 화면·감지 캐시에 담지 않습니다. 계정을 알려 주지 않는 도구(OpenCode·Qwen Code·Cline·Droid·Crush, Pi의 Anthropic 로그인, 키링에 저장한 Codex)는 지금처럼 연결 여부만 보이고, 휴대폰 앱에는 아직 나오지 않습니다.
-
Switcher 답변 안에서 차트와 다이어그램을 그림으로 봅니다. ```chart 블록에 Chart.js 모양의 JSON(type은 bar·line·pie·doughnut, data.labels·data.datasets)을 쓰면 SVG 막대·선·원 차트로 그리고, ```mermaid 블록도 이제 답변 안에서 다이어그램으로 보입니다(작성이 끝난 답변만). 그림 위 도구 줄에서 「크게 보기」(이미지 확대 뷰어와 같은 배율·이동·키보드)·「SVG 복사」·「PNG 복사」·「원문 보기」를 고를 수 있고, 파일 보기의 Markdown 미리보기에서도 같은 블록이 같은 모양으로 그려집니다. JSON이 틀렸거나 지원하지 않는 사양이면 이유와 함께 원문 코드 블록을 그대로 보여 줍니다. 차트는 새 의존성 없이 앱이 직접 그리며, 라벨에 HTML이 있어도 글자로만 보이고 색은 고정 팔레트만 씁니다. 외부 공유 링크는 만들지 않습니다.
-
설정 › 화면에서 강조색과 화면 밀도를 고를 수 있습니다. 강조색은 「기본」(테마 자체 색)·보라·초록·주황·분홍 중에서 고르며, 20개 테마마다 따로 맞춘 값이라 어느 테마에서도 버튼 글자·링크·선택 행 글자는 4.5:1, 포커스 테두리는 3:1 이상 대비를 지킵니다. 화면 밀도 「촘촘함」은 목록 행·입력칸·설정 탭 높이와 글자 크기를 한 단계 줄이되, 누르는 영역은 24px 아래로 내리지 않고 가장 작은 글자(12px)와 제목줄은 그대로 둡니다. 다른 PC 창의 본문은 그 PC 테마의 강조색을 그대로 쓰고 머리 줄만 이 PC 강조색을 씁니다. 설정 검색에서 「강조색」·「밀도」로 찾을 수 있습니다. 휴대폰 앱, 트레이 빠른 전환 창, 떠 있는 터미널 창에는 아직 적용되지 않습니다. 앱 아이콘 바꾸기는 Windows·macOS 모두 실행 중인 창·Dock 아이콘만 바뀌고 고정 아이콘·Finder 아이콘은 그대로라 넣지 않았습니다.
-
「세션 기록 검색」을 추가했습니다. 명령 팔레트에서 「세션 기록 검색…」을 고르면 이 PC의 모든 프로젝트에서 Claude Code·Codex·Antigravity CLI·OpenCode·Pi 세션의 대화 본문(내가 보낸 요청과 에이전트 답변)을 찾습니다. 결과마다 세션 제목, 프로젝트, 에이전트, 일치한 구절과 앞뒤 몇십 자(일치 부분 강조), 그 메시지 시각이 보이고, 위·아래 키로 고른 뒤 Enter나 클릭으로 그 세션을 이어 엽니다. 에이전트 칩으로 도구를 거를 수 있고, 여러 낱말은 한 메시지에 모두 있어야 찾으며 대소문자와 macOS 한글 자모 분리(NFD)는 가리지 않습니다. 생각(thinking)·도구 입력과 출력·첨부는 찾지 않습니다. 등록하지 않은 폴더의 세션은 바로 열지 않고 「다른 폴더」 목록으로 안내합니다. 처음 검색할 때 기록을 읽어 앱 데이터 폴더에 검색 색인을 만들고(키 형태 문자열은 가려 저장), 다음부터는 새로 덧붙은 기록만 읽어 빨라집니다. 한 번의 검색은 8초·결과 50개에서 멈추며, 일부만 확인했으면 그렇다고 알려 주고 다시 찾으면 이어서 확인합니다. 설정에서 세션 기록 읽기를 끄면 검색도 쓸 수 없습니다. 휴대폰과 다른 PC의 기록 검색은 아직 없습니다.
-
앱 브라우저 탭이 HTTP 기본 인증을 물을 수 있습니다. 사이트(또는 프록시)가 사용자 이름·비밀번호를 요구하면 지금까지는 조용히 취소돼 401 페이지만 보였는데, 이제 「이 사이트가 로그인을 요청합니다」(프록시면 「프록시 서버 로그인」) 대화상자에 서버·영역(realm)·요청한 페이지가 보이고, 입력하면 그 요청에만 쓰고 앱에 저장하거나 활동 기록에 남기지 않습니다. 취소·Esc는 인증을 취소하고, 5분 안에 답하지 않거나 탭을 닫으면 취소됩니다. 에이전트(브라우저 MCP)가 조작 중인 탭에서 떠도 사용자 대화상자로만 묻고 입력은 에이전트에 가지 않습니다.
-
앱 브라우저 탭의 페이지가 mailto:·slack:·vscode: 같은 외부 앱 링크로 이동하거나 새 창을 열려고 하면 「외부 앱을 열까요?」 확인창이 뜹니다. 어느 출처가 어떤 앱(OS가 알려 준 이름, 모르면 스킴)을 열려는지와 대상 주소를 보여 주고, 기본 선택은 「거절」이며 「이번만 열기」를 눌러야 OS 앱으로 넘깁니다. 지금까지는 이런 링크가 아무 반응 없이 막혔습니다. file:·javascript:·data:·ms-msdt:·search-ms:·smb: 등 위험 스킴은 묻지 않고 막고, iframe 안의 이동도 묻지 않고 막습니다. 같은 탭은 한 번에 하나만 묻고, 거절한 스킴은 5초 동안 다시 묻지 않습니다.
-
앱 브라우저 탭에서 한 사이트에 패스키(WebAuthn) 계정이 여러 개면 「로그인할 계정 선택」 목록으로 고를 수 있습니다. 지금까지는 고를 화면이 없어 요청이 취소됐습니다. 계정이 하나면 묻지 않고 그 계정을 씁니다. 보안 키(USB HID) 연결과 macOS Touch ID 패스키는 아직 지원하지 않습니다.
-
워크트리 브랜치 이름을 작업 내용에 맞춰 바꿀 수 있습니다. 앱이 이름을 지은(브랜치 이름을 따로 적지 않고 만든) 워크트리에 첫 세션이 생기면 그 제목으로 feat/<영문-요약> 이름을 제안해 워크트리 홈에 보여 주고 레일 노드 옆에 점으로 알립니다. 「이 이름으로 바꾸기」로 바로 바꾸거나 「고쳐서 바꾸기…」로 고쳐 바꿀 수 있고, 「그만 보기」로 숨깁니다. 한글 제목은 기존 자동 이름 경로로 영어 제목을 한 번 받아 쓰며, 영어로 옮기지 못하면 워크트리 ⋯ 메뉴 「브랜치 이름 바꾸기…」에서 직접 적습니다. 같은 이름의 로컬·원격 브랜치가 있으면 -2처럼 숫자를 붙이고, 레일·홈의 워크트리 이름이 옛 브랜치 이름 그대로였으면 함께 바뀝니다. 브랜치 이름만 바꾸므로(git branch -m) 작업 트리 파일·커밋은 그대로이고 그 워크트리에서 실행 중인 에이전트도 계속 같은 폴더에서 일합니다. 설정 › 일반 「워크트리 › 브랜치 이름 자동으로 바꾸기」를 켜면(기본 꺼짐) 제안이 생길 때 자동으로 바꾸되, 원격 추적 브랜치가 있거나 원격에 같은 이름이 있는 브랜치, 사용자가 직접 이름 지은 브랜치는 자동으로 바꾸지 않습니다. 주 워크트리·detached·잠긴 워크트리와 다른 워크트리도 체크아웃한 브랜치는 바꾸지 않습니다.
-
「최근 탭」 전환을 추가했습니다. Ctrl+Shift+E(macOS ⇧⌘E)를 누르면 지금 탭을 뺀 열린 탭이 최근에 본 순서로 뜨고(채팅·터미널·브라우저·파일 탭 모두), 숫자 19로 그 번호의 탭으로 바로 가거나 Enter로 바로 전에 보던 탭으로 돌아갑니다. 같은 키를 다시 누르면 다음 탭으로 내려가고, 검색어를 치면 탭 이름으로 거르며 그동안은 Ctrl·Alt+숫자로 고릅니다. Ctrl+19는 지금처럼 탭 줄 위치로 이동합니다. 최근 순서는 앱을 다시 켜면 처음부터 쌓입니다. 단축키는 설정 › 단축키 「탭」에서 바꿀 수 있습니다.
-
「새 탭 찾기」를 추가했습니다. Ctrl+Shift+N(macOS ⇧⌘N)이나 탭 줄 창 메뉴의 「새 탭 찾기…」로 열면 한 칸에서 지금 프로젝트의 에이전트 새 세션(설치된 도구), 새 터미널 탭·브라우저 열기, 열린 탭을 찾고, 검색어를 치면 파일 빠르게 열기와 같은 프로젝트 파일도 함께 나옵니다. example.com·localhost:5173처럼 주소를 치면 맨 위에 「브라우저 탭에서 열기」가 나와 앱 브라우저 탭으로 엽니다(HTTPS와 이 PC의 HTTP 주소만). 검색어를 외부 검색 엔진으로 보내는 웹 검색은 넣지 않았습니다. + 버튼은 지금처럼 새 터미널 탭을 엽니다.
-
커밋 전 변경을 줄·묶음(hunk) 단위로 커밋에 올리고 내릴 수 있습니다. 변경 확인의 「변경 diff 보기」에서 「부분 스테이징」을 누르면 그 파일의 변경이 「커밋에 올리지 않은 변경」과 「커밋에 올린 변경」으로 나뉘어 보이고, 묶음마다 「묶음 올리기」·「묶음 내리기」로 옮기거나 바뀐 줄을 눌러(키보드는 Space) 고른 줄만 옮길 수 있습니다. 앱은 화면에 보낸 patch를 그대로 쓰지 않고 그때 diff를 다시 읽어, 보고 난 뒤 파일이 바뀌었으면 「변경이 바뀌었습니다」라고 알리고 최신 상태를 다시 보여 줍니다. 일부만 올린 파일이 생기면 변경 목록에 「일부 올림」이 붙고 「스테이징한 변경만 커밋」이 자동으로 켜져, 올린 것만 커밋하고 나머지는 작업 트리에 남깁니다. 이 선택을 끄고 파일 체크로 커밋하면 지금처럼 고른 파일 전체가 커밋됩니다. 추적하지 않는 새 파일·삭제·이름 바꾸기·이진 파일은 파일 단위로만 커밋하고, 파일 끝 줄바꿈이 바뀐 묶음은 줄 단위로는 고를 수 없습니다.
-
여러 워크트리를 한 화면에서 골라 지우는 「워크트리 정리」를 추가했습니다. 원래 프로젝트 ⋯ 메뉴의 「워크트리 모두 정리…」는 그 프로젝트의 워크트리만, 레일 아래 「표시 필터」의 「워크트리 정리…」는 모든 워크트리를 보여 줍니다. 항목마다 브랜치, 기본 브랜치(origin/HEAD → main → master)에 병합됐는지와 병합 안 된 커밋 수, 커밋 안 된 변경 수, 앱 안에서 실행 중인 세션 수가 보이고, 위험(변경·병합 안 됨·병합 여부 모름·실행 중)이 있는 항목은 처음에 고르지 않으며 골라서 지우려면 한 번 더 확인합니다. 지우기는 항목마다 기존 「워크트리 삭제」와 같은 경로(지우기 전 명령·설정 복원·변경 보호)를 차례로 지나고, 브랜치는 기본으로 남기며 병합이 확인된 브랜치만 항목별로 함께 지울 수 있습니다(강제 삭제 없음). 잠긴 워크트리는 고를 수 없습니다.
-
레일 아래에 「표시 필터」를 추가했습니다. 기본 브랜치를 연 프로젝트·워크트리, detached 워크트리, 「앱 밖 워크트리」 묶음, 7일 동안 세션 활동이 없는 프로젝트를 골라 숨길 수 있고 재시작 뒤에도 유지됩니다. 지금 화면의 프로젝트와 실행 중 세션이 있는 프로젝트는 숨기지 않고, 보이는 워크트리가 있는 원래 프로젝트는 함께 보입니다. 표시만 바꾸며 프로젝트·설정·세션은 그대로입니다.
-
도구별 실행 인자와 환경 변수를 정할 수 있습니다. 설정 › 실행 옵션에서 도구를 고르고 프로젝트별(기본) 또는 전역으로 인자(한 칸에 하나)와 환경 변수(이름·값)를 적어 두면, 앱 안 터미널 탭과 새 터미널 창에서 그 도구를 띄울 때 덧붙입니다. 프로젝트 값이 있으면 인자는 프로젝트 목록을, 환경 변수는 이름별로 프로젝트 값을 쓰며 워크트리는 원래 프로젝트 값을 거쳐 전역을 따릅니다. 인자는 셸을 거치지 않고 그대로 넘기고, 앱이 폴더 연결·세션 관리에 넣는 인자(--profile, --settings, --session-id 등)와 권한 우회 플래그, 도구 격리·연결에 쓰는 환경 변수(CODEX_HOME, *_API_KEY 등)는 저장 전에 이유와 함께 막습니다. 환경 변수 값은 기본으로 가려 보이고, 앱 안 터미널에서는 실행 줄이 아니라 셸 프로세스 환경으로 넘겨 터미널 화면·휴대폰·활동 기록에 남지 않습니다. Switcher 대화에는 적용하지 않습니다.
-
Switcher 대화에서 턴마다 「이 턴에서 바뀐 파일 n개」 카드가 그 턴의 마지막 기록 뒤에 붙습니다. 파일별 추가·삭제 줄 수를 보여 주고, 파일을 펼치면 그 턴에 엔진이 보고한 변경(Codex 파일 변경, Claude Code Edit·Write)만 diff로 봅니다. 긴 변경은 파일당 120줄까지만 그리고 나머지는 접으며, diff가 남지 않은 변경은 파일 열기만 안내합니다. 파일 열기 버튼은 파일 보기로, 머리글 버튼은 「대화 정보 › 변경」으로 이어집니다. 다른 PC 대화는 카드를 표시만 하고 이 PC 파일로 열지 않습니다. 종류 필터·검색 중에는 카드를 붙이지 않으며, 휴대폰 앱에는 아직 없습니다.
-
Windows에서 「관리자 권한으로 터미널 열기」를 쓸 수 있습니다. 프로젝트 터미널을 Shift+우클릭(「우클릭으로 붙여넣기」를 껐다면 그냥 우클릭)한 메뉴나 명령 팔레트에서 고르면, UAC 확인 뒤 그 프로젝트 폴더에서 시작하는 관리자 PowerShell 창이 새로 열립니다(PowerShell 7이 있으면 그것을 씁니다). 앱 안 터미널은 관리자 셸을 붙일 수 없어 별도 창으로 열며, 앱 자체는 관리자로 다시 시작하지 않습니다. UAC를 거절하면 아무 창도 열지 않고 「관리자 권한을 허용하지 않아 창을 열지 않았습니다」라고만 알려 줍니다. macOS·Linux와 다른 PC 터미널에는 이 항목이 없습니다.
-
개요(사용량 화면) 머리 줄에 보기 설정 두 가지를 추가했습니다. 「자세히/간단히」로 사용량 흐름·인사이트·토큰 구성·프로바이더 분포 패널과 행 보조 설명을 숨기고 순위를 세 줄로 줄여 핵심 지표만 촘촘히 볼 수 있고, 「사용률/남은 비율」로 새 「계정 한도」 목록(앱에서 실행한 Claude Code가 보고한 5시간·주간 한도)의 숫자와 막대를 쓴 비율 또는 남은 비율로 바꿉니다. 남은 비율이 20% 아래면 어느 쪽으로 보든 주의 색으로 보입니다. 설정은 이 기기에만 저장되어 다시 열어도 유지됩니다.
-
Markdown 파일 편집에 편집 도우미를 더했습니다. 원문을 그대로 편집·저장하는 방식은 그대로이고, 줄 처음에서 /를 치면 제목·목록·체크박스·코드 블록·표·인용·콜아웃(> [!NOTE] 등 GFM alert 5종)·구분선·Mermaid 블록을 골라 넣는 메뉴가 열립니다(한글 조합 중에는 열지 않고 조합이 끝나면 그 검색어로 엽니다). [[를 치면 프로젝트 안 Markdown 파일 이름이 제안되고, 고르면 지금 파일 기준 상대 경로 [이름](경로.md)로 들어갑니다. 커서가 표 안에 있으면 Tab·Shift+Tab으로 칸을 옮기고(마지막 칸에서 Tab은 새 행), 편집기 툴바의 「표 편집」에서 행·열 추가·삭제와 「표 정렬(열 너비 맞춤, 한글 두 칸 계산)」을 쓸 수 있습니다. 툴바의 「목차」는 제목 목록을 보여 주고 누르면 그 줄로 이동합니다. 문서 미리보기(Switcher 대화 문서 포함)는 GFM alert를 제목과 색 띠가 있는 콜아웃으로 그립니다.
-
오래 쉬는 에이전트 터미널을 재울 수 있습니다. 환경 설정 › 일반 「쉬는 에이전트 재우기」(기본 꺼짐)에서 15분·30분·1시간·2시간을 고르면, 앱 안 터미널의 Claude Code·Codex·Pi·OpenCode가 그동안 입력·출력 없이 쉴 때 프로세스를 끝내고 탭은 「잠듦」으로 남깁니다. 탭을 열거나 「깨우기」를 누르면 같은 세션을 그 자리에서 이어 엽니다. 이어 열 세션이 확실한 터미널만(앱이 박은 세션 id·이어 열기·Claude 레지스트리 확인, 재우기 직전에 이어 열 수 있는지 다시 확인) 재우고, 작업 중·승인 대기, 보고 있는 탭, 휴대폰이 조작 중인 터미널, 일반 셸 탭은 재우지 않습니다. 잠든 탭은 앱을 다시 켜도 잠듦으로 돌아옵니다(화면 내용은 이번 실행 동안만 남음).
-
개발자용 npm run dev:isolated를 추가했습니다. 개발 빌드를 저장소의 .dev-sandbox/ 아래 앱 데이터·CLI 홈으로 띄워, 실험하는 동안 실제 Codex·Claude Code 등의 설정 파일을 건드리지 않습니다.
-
전역 단축키로 여는 「떠 있는 터미널」을 추가했습니다. 다른 앱을 쓰는 중이거나 앱이 최소화·트레이에 있어도 Ctrl+Alt+Shift+T(macOS ⌃⌥⇧T)를 누르면 화면 위쪽 가운데에 항상 위에 뜨는 작은 터미널 창이 열리고, 메인 창은 앞으로 나오지 않습니다. 단축키를 다시 누르거나 다른 창을 누르면(포커스를 잃으면) 숨고, 창 머리 줄의 숨기기 버튼으로도 숨길 수 있습니다. Esc는 셸·vim·Claude Code가 쓰므로 가로채지 않습니다. 숨겨도 셸은 그대로 살아 있어 다시 열면 이어지고, exit로 셸을 끝내면 창이 숨었다가 다음에 열 때 새 셸을 엽니다. 셸은 마지막으로 앱 안 터미널을 연 프로젝트(없으면 첫 프로젝트)에서 기본 셸로 시작하며, 프로젝트가 하나도 없으면 프로젝트를 먼저 추가하라고 알려 줍니다. 이 셸은 떠 있는 창에만 보이고 메인 창 탭 목록에는 나오지 않습니다. 단축키는 설정 › 단축키 「전역」에서 바꾸거나 해제할 수 있고, 다른 앱이 이미 쓰고 있으면 그 자리에 등록하지 못했다고 알려 줍니다. 명령 팔레트의 「떠 있는 터미널 열기·숨기기」로도 열 수 있어 전역 단축키를 쓸 수 없는 Linux에서도 씁니다.
-
Switcher 대화에서 내 메시지 앞으로 대화를 되돌릴 수 있습니다. 내 말풍선을 우클릭해 Codex는 「여기로 되돌리기」, Claude Code는 「여기서 갈라져 다시 하기」를 고르고 확인하면, 그 메시지와 이후 기록이 대화에서 빠지고 그 메시지가 입력창에 돌아와 고쳐 보낼 수 있습니다. Codex는 같은 대화의 기록에서 지우고, Claude Code는 그 앞까지의 기록으로 새 세션을 만들어 이어 가며 원래 세션은 지난 세션에 그대로 남습니다. 작업 폴더의 파일 변경은 되돌리지 않으며, 응답·승인 대기 중에는 쓸 수 없습니다. 다른 PC 대화와 휴대폰에서는 아직 쓸 수 없습니다.
-
CSV·TSV 파일의 「표」 보기에서 바로 고칠 수 있습니다. 칸을 두 번 누르거나 Enter로 고치고 Esc로 취소하며, Tab·화살표로 칸을 옮깁니다(Alt+Enter는 칸 안 줄바꿈). 「행 추가」·「행 삭제」와 되돌리기를 쓸 수 있고, 첫 줄(열 머리글)은 스크롤해도 위에 붙어 있으며 두 번 눌러 이름을 고칩니다. 머리글을 누르면 오름차순·내림차순·원래 순서로 정렬하고 「필터」로 열마다 포함 검색을 하지만, 정렬·필터는 보기만 바꿔 저장한 파일의 행 순서는 그대로입니다. 저장은 코드 편집기와 같아 디스크에서 바뀐 파일을 덮어쓰지 않고 자동 저장 설정을 따르며, 쉼표·탭 구분자, CRLF·LF 줄바꿈, BOM, 끝 줄바꿈, 따옴표를 원래대로 두고 고친 칸만 다시 씁니다. 큰 파일은 보이는 행만 그리고, 2MB를 넘는 파일은 지금처럼 열지 않습니다. 원문(Raw) 보기는 그대로입니다.
-
새 워크트리에서 일부 폴더만 체크아웃할 수 있습니다. 새 워크트리 대화상자의 「일부 폴더만 체크아웃」을 켜고 받을 폴더를 한 줄에 하나씩(저장소 기준 상대 경로) 적으면 그 폴더들과 저장소 최상위 파일만 받아 큰 저장소에서도 빨리 만들어집니다. 저장소 밖이나 .git, * 같은 패턴은 대화상자 안에서 바로 알려 주고, 마지막에 쓴 목록은 프로젝트마다 기억해 다음에 켜면 그대로 채워집니다. 원래 프로젝트 폴더의 체크아웃은 바뀌지 않습니다.
-
프로젝트·워크트리 ⋯ 메뉴의 「디스크 사용량」에서 그 폴더의 전체 크기와 큰 하위 폴더(node_modules·.git·빌드 결과 등)를 크기순으로 볼 수 있습니다. 세는 동안 「멈추기」로 멈출 수 있고, 심볼릭 링크·정션은 따라가지 않으며 30초가 넘거나 항목이 너무 많으면 그때까지 센 크기를 보여 줍니다. 워크트리들이 같은 저장소의 .git을 함께 쓴다는 점도 함께 알려 줍니다.
-
프로젝트·워크트리마다 PR·MR·이슈·문서 링크를 여러 개 붙일 수 있습니다. ⋯ 메뉴의 「관련 링크…」에서 주소와 제목(선택)을 적으면 프로젝트 홈에 「링크」 목록이 생기고, 누르면 링크 설정에 따라 앱 브라우저나 기본 브라우저로 엽니다. https 주소만 받고(http는 이 PC 주소만) 폴더마다 20개까지 붙일 수 있습니다.
-
Claude Code·Codex 같은 CLI 에이전트가 앱 안 Agent 브라우저를 직접 다룰 수 있습니다. 환경 설정 › 브라우저 「CLI 에이전트가 Agent 브라우저 조작」을 켜면(기본 꺼짐) 두 도구의 전역 MCP 설정에 Switchboard 브라우저 도구가 등록되어, 에이전트가 페이지를 열고(browser_open), 제목·본문·버튼·입력란 목록을 읽고(browser_snapshot), 목록 번호나 CSS 선택자로 클릭·입력하고(browser_click·browser_fill), 화면을 캡처하고(browser_screenshot), 탭을 고를(browser_tabs) 수 있습니다. 에이전트가 연 탭은 앱 안 브라우저 탭으로 열려 지켜볼 수 있습니다. 이 브라우저의 쿠키·로그인 상태로 동작하므로 세션마다 처음 조작할 때 「이 세션이 브라우저를 조작하려 합니다」를 한 번 묻고, 주소는 지금처럼 HTTPS와 localhost만 엽니다. 끄면 등록을 지우고, 사용자가 직접 넣은 MCP 서버와 설정 주석은 그대로 둡니다. 설정 파일이 아직 없는 도구에는 등록하지 않습니다.
-
같은 프롬프트를 여러 엔진·모델에 보내 나란히 비교하는 「비교 실행…」을 추가했습니다. 프로젝트 메뉴나 명령 팔레트에서 열어 프롬프트와 조합 2~4개(Codex·Claude Code와 모델·추론 강도)를 고르면, 조합마다 새 워크트리(<접두사>-<번호>-<엔진/모델>)를 만들고 그 안에서 Switcher 대화를 열어 같은 프롬프트를 보냅니다. 만든 대화는 한 탭에 나란히 열리고, 실패한 조합은 어느 단계에서 왜 멈췄는지 대화상자에 보이며 나머지는 그대로 진행합니다. 워크트리와 대화는 자동으로 지우지 않으니 워크트리 삭제·대화 닫기로 정리하세요.
-
Switcher 대화를 다른 에이전트나 모델로 넘겨 새 대화에서 이어 갈 수 있습니다. 대화 툴바의 ⋯ › 「다른 에이전트로 넘기기…」에서 대상 엔진(Codex·Claude Code)과 모델·추론 강도, 넘길 범위(최근 3·10·20턴 또는 전체), 덧붙일 지시를 고르면 같은 프로젝트에 새 대화를 열고 요청·답변·작업 계획·파일 변경 요약·마지막 상태를 정리한 인계 메모를 첫 메시지로 보냅니다. 추론과 도구 원본 출력은 넣지 않고 키 형태 문자열은 가리며, 24,000자를 넘으면 오래된 기록부터 줄이고 줄였다고 적습니다. 새 대화의 첫 메시지 위에는 「Codex 대화에서 넘겨받음」처럼 어디서 넘겨받았는지 보이고, 원래 대화는 그대로 남습니다. 다른 PC의 대화에서는 아직 넘길 수 없습니다.
-
병합·리베이스·체리픽 중 충돌난 파일을 변경 확인에서 「충돌 n개」로 따로 모아 보여 주고, 파일을 누르면 충돌 해결 탭이 열립니다. 충돌 구간마다 현재·들어온 것(찾을 수 있으면 공통 조상까지)을 나란히 보고 「현재 쓰기」·「들어온 것 쓰기」·「둘 다」·「직접 편집」 중 하나를 고른 뒤 저장하고 「해결로 표시」하면 git에 해결로 올라갑니다. 충돌 표시가 남아 있으면 해결로 표시하지 않고, 충돌이 남은 동안은 커밋을 막습니다. 진행 중인 작업이 확실할 때만 「계속」·「중단」 버튼이 보이며 중단은 확인을 거칩니다.
-
「AI에게 해결 맡기기」로 충돌 파일 전체나 충돌 구간 하나를, 그리고 새 「변경 diff 보기」(변경 확인의 각 파일 옆 아이콘)에서 고른 줄을 지금 실행 중인 에이전트 터미널이나 대화를 시작한 Switcher 입력창에 넣습니다. 파일·구간·요청 문장까지 채워 넣지만 Enter는 누르지 않고, git add·커밋도 하지 않습니다.
-
개요에 「에이전트」 대시보드를 추가했습니다. 모든 프로젝트의 열린·최근 세션을 확인 필요(입력 대기·오류)·작업 중·끝남(안 봄)·쉬는 중 네 칸으로 한눈에 보고, 카드마다 프로젝트·도구·세션 제목·마지막 활동 시각이 보입니다. 상태는 레일·탭 점과 같은 판정이라 레일 「확인 필요」 개수와 어긋나지 않으며, 카드를 누르면 열린 탭이면 그 탭으로, 아니면 그 세션을 이어 엽니다. 쉬는 중 칸은 최근 5개만 보이고 나머지는 개수로 알려 줍니다.
-
개요 아래에 「활동 피드」를 추가했습니다. 「지난 알림」에 쌓인 완료·오류·주의·정보 기록을 최신순으로 보여 주고, 프로젝트·도구·종류로 걸러 볼 수 있습니다. 알림을 누르면 확인 필요 패널에서 누를 때와 같이 읽음으로 바뀌고 그 세션이나 도구 화면으로 갑니다. 기록은 지금처럼 최근 100건까지만 남습니다.
-
프로젝트마다 워크트리를 만든 뒤·지우기 전에 실행할 명령을 둘 수 있습니다. 새 워크트리 대화상자의 「훅 설정」에서 「만든 뒤 실행」(예: npm ci)과 「지우기 전 실행」(예: 정리 스크립트)을 적으면, 워크트리를 만든 직후 그 폴더의 앱 안 터미널 탭이 열려 명령이 실행되고(실패해도 워크트리는 남음), 지울 때는 먼저 그 폴더에서 명령을 실행해 실패하거나 2분 안에 끝나지 않으면 지우지 않고 출력 끝부분과 「훅 무시하고 지우기」를 보여 줍니다. 앱에 직접 적은 명령만 실행하며 저장소 안 파일이 정한 명령은 실행하지 않습니다. 워크트리는 원래 프로젝트의 명령을 따릅니다.
-
빠른 명령을 추가했습니다. 자주 보내는 셸 명령이나 에이전트 프롬프트에 이름을 붙여 저장해 두고, 터미널 창 머리 줄의 빠른 명령 버튼이나 명령 팔레트의 「빠른 명령: 이름」으로 지금 보고 있는 창에 한 번에 보냅니다. 목록은 프로젝트별(기본)과 전역으로 나눠 설정 › 빠른 명령에서 추가·편집·삭제·순서 변경하고, 같은 이름이면 프로젝트 항목을 쓰며 워크트리는 원래 프로젝트 목록도 함께 씁니다. 항목마다 「보낸 뒤 실행(Enter)」을 끄면 붙여 넣기만 하고, Switcher 대화에서는 입력창에 넣기만 해 확인한 뒤 직접 보냅니다. 붙여넣기를 받지 못하는 셸에서는 보내지 않고 창 아래에 이유를 알려 줍니다. 휴대폰에서는 아직 쓸 수 없습니다.
-
Switchboard로 연결을 적용한 Qwen Code의 모델 목록을 Qwen Code에서 직접 읽어 모델 선택기에 반영합니다. 로그인 전이거나 읽지 못하면 기존 모델 목록을 그대로 씁니다.
-
새 워크트리를 원격 브랜치(origin/…)나 태그, 직접 적은 커밋 SHA에서 시작할 수 있습니다. 시작 지점 목록 끝의 「커밋 SHA·다른 지점 직접 입력」을 고르면 입력 칸이 열리고, 없는 지점이면 대화상자 안에서 바로 알려 줍니다. 원격 브랜치나 태그에서 시작하면 그 지점에서 새 로컬 브랜치를 만듭니다.
-
Claude Code·Codex나 git 명령으로 앱 밖에서 만든 워크트리를 찾아 보여 줍니다. 저장소로 등록한 프로젝트를 펼치면 아직 추가하지 않은 워크트리가 있을 때 그 아래에 「앱 밖 워크트리 n개」 한 줄이 생기고(프로젝트 메뉴에서도 열 수 있음), 누르면 만든 도구(경로로 추정한 Claude Code·Codex·git)·브랜치·경로와 잠김 여부를 보여 줍니다. 앱은 자동으로 추가하거나 지우지 않으며, 「워크트리로 추가」를 누른 것만 그 프로젝트 아래 워크트리로 놓여 에이전트·모델 설정을 따릅니다. 폴더가 사라진 워크트리는 보이기만 하고 추가할 수 없습니다.
-
Switcher 대화가 계정 사용 한도에 걸려 멈추면 입력창 위에 「사용 한도에 도달했습니다」와 리셋까지 남은 시간이 보입니다. 「리셋되면 이어 하기」를 눌러 두면 그 화면이 열려 있는 동안 리셋 시각에 하던 작업을 이어서 계속하라고 보내고, 리셋 시각을 모르거나 이미 지났으면 「지금 이어 하기」로 바로 이어 갑니다. Codex는 한도 오류 신호로, Claude Code는 한도 안내 문구로 알아봅니다.
-
앱 안 터미널에서 하던 Claude Code·Codex 대화를 Switcher로 옮겨 이어 갈 수 있습니다. 터미널 창 머리 줄의 「Switcher로 이어 가기」를 누르고 확인하면 그 터미널을 끝내고 같은 대화를 Switcher 탭에서 엽니다. 한 대화는 한 곳에서만 돌므로 터미널과 Switcher에서 동시에 열지는 않습니다.
-
변경 확인에서 일부 파일만 골라 커밋할 수 있습니다. 각 변경 앞의 체크를 풀면 그 파일은 커밋에서 빠지고 버튼이 「N개 커밋」으로 바뀌며, 뺀 변경과 이미 스테이징해 둔 다른 파일은 그대로 남습니다. 이름을 바꾼 파일은 이전 경로까지 함께 커밋합니다.
-
저장소에 .worktreeinclude가 있으면 새 워크트리를 만들 때 거기 적힌 git 밖 파일(.env, 로컬 키 폴더 등)을 함께 복사합니다. Claude Code와 같은 형식이며, 패턴에 맞으면서 .gitignore로 무시되는 파일만 복사하고 이미 있는 파일은 덮어쓰지 않습니다.
-
앱 안 터미널이 OSC 52 클립보드 쓰기를 받습니다. Claude Code의 /copy, tmux·vim처럼 터미널 프로그램이 복사한 글자가 시스템 클립보드에 들어갑니다. 프로그램이 클립보드를 읽거나 지우는 요청은 받지 않고, 앱 창이 포커스된 동안만 반영합니다.
-
Ghostty·Warp 터미널 테마를 가져와 앱 안 터미널 색 구성으로 쓸 수 있습니다. 환경 설정 「화면 · 터미널」의 「Ghostty·Warp 테마 가져오기」에 테마 원문을 붙여 넣고 이름을 정하면 색 구성 목록에 「가져옴」으로 추가되고, 고른 뒤 지울 수도 있습니다.
-
프로젝트 이름을 바꿀 수 있습니다. 레일의 프로젝트 ⋯ 메뉴 「이름 바꾸기」에서 이모지를 포함한 이름을 정하면 레일·프로젝트 홈·휴대폰에 그 이름으로 보이고, 폴더와 설정은 그대로입니다. 비우면 폴더 이름으로 돌아갑니다.
-
오디오 파일(mp3·wav·ogg·m4a·aac·flac·opus)을 미디어 미리보기에서 바로 재생합니다. 탐색기나 대화 속 링크로 열면 영상처럼 앱 안에서 재생 막대가 나옵니다.
-
터미널 출력에서 찾기를 추가했습니다. 터미널에서 Ctrl+Shift+F(macOS ⌘F)를 누르면 위에 찾기 막대가 열리고, 지나간 출력까지 일치하는 곳을 칠하며 개수와 현재 위치를 보여 줍니다. 대소문자 구분과 정규식을 켤 수 있고, Enter로 위로·Shift+Enter로 아래로 옮겨 가며 Esc로 닫으면 터미널로 돌아갑니다. 단축키는 설정에서 바꿀 수 있습니다.
-
앱 안 터미널에 우클릭 메뉴를 추가했습니다. 복사(선택했을 때)·붙여넣기·모두 선택·출력에서 찾기·터미널 화면 지우기를 고를 수 있고, Claude Code·Codex처럼 세션이 연결된 터미널에서는 세션 ID도 복사할 수 있습니다. 「우클릭으로 붙여넣기」를 켜 두었다면 우클릭은 지금처럼 바로 붙여 넣고 Shift+우클릭으로 메뉴를 엽니다. 화면 지우기는 터미널 화면만 비우고 셸에는 아무것도 보내지 않으며, 저장된 화면에서는 붙여넣기와 화면 지우기가 꺼져 있습니다.
-
터미널 출력 속 웹 주소와 프로젝트 파일 경로(src/app.ts:12처럼 줄 번호가 붙은 것 포함)를 누르면 작은 메뉴가 열립니다. 웹 주소는 앱 브라우저·외부 브라우저로 열거나 복사하고, 파일은 파일 보기로 그 줄을 열거나 경로를 복사합니다. 상대 경로는 터미널을 시작한 폴더 기준으로 찾고, 프로젝트에 실제로 있는 파일만 링크가 됩니다. Ctrl(macOS ⌘)+클릭은 메뉴 없이 바로 엽니다. 다른 PC 터미널의 경로는 이 PC 파일로 열지 않습니다.
-
앱 안 터미널에서 Claude Code를 쓰는 동안 창 머리 줄에 계정 사용 한도(5시간·주간 남은 비율)가 보입니다. 마우스를 올리면 리셋까지 남은 시간이 나오고 20% 아래로 남으면 경고 색으로 바뀝니다. Switcher에서만 보이던 값과 같으며, 구독 계정이 아니거나 아직 첫 응답 전이면 보이지 않습니다.
-
설정 › 일반에 「절전 방지」를 추가했습니다. 「켜짐」은 앱이 도는 동안, 「에이전트 작업 중에만」은 세션이 실행 중이거나 앱 안 터미널이 작업 중일 때만 시스템이 절전 모드로 들어가지 않게 합니다. 화면 꺼짐은 막지 않으며 기본은 꺼짐이고, 설정을 끄거나 앱을 끝내면 바로 풀립니다.
-
세션 완료·확인 필요 알림에 붙일 소리를 고를 수 있습니다. 「운영체제 기본 소리」(지금까지와 같음), 앱이 직접 내는 짧은 「앱 내장 소리」, 「소리 끄기」 중에서 고르고, 앱 내장 소리는 음량을 정하고 미리 들어 볼 수 있습니다. 앱 내장 소리는 앱 안에서만 알림을 표시할 때도 울립니다.
-
커밋 diff 탭에서 여러 줄·구간에 코멘트를 달아 모아 두었다가 한 번에 에이전트 입력창에 넣을 수 있습니다. 줄 옆 +에서 「코멘트 달아 모아 두기」를 고르면 diff 위에 보낼 코멘트 목록이 생기고, 목록에서 고치거나 지운 뒤 「모아 보내기」로 실행 중인 에이전트를 고르면 파일·줄·코드 발췌·코멘트가 한 줄로 들어갑니다. Enter는 누르지 않습니다. 코멘트는 diff 탭을 닫았다 열어도 앱을 끄기 전까지 남고 디스크에는 저장하지 않습니다.
-
커밋 diff 탭이 바뀌지 않은 긴 구간을 접어 바뀐 줄 앞뒤 3줄만 보이고, 「바뀌지 않은 n줄 펼치기」로 그 구간을 펼칩니다. 툴바의 「공백 무시」를 켜면 공백만 바뀐 줄은 변경으로 보이지 않습니다.
-
OpenCode 세션도 프로젝트별 세션 목록에 보입니다. OpenCode가 남긴 세션 기록을 읽기만 하며, 이어 열면 앱 안 터미널에서 그 OpenCode 세션을 이어 갑니다. OpenCode가 하위 작업으로 띄운 세션은 부모 세션 아래 서브에이전트로 묶여 읽기 전용 기록으로 볼 수 있습니다.
-
Pi 세션도 프로젝트별 세션 목록에 보입니다. Pi가 ~/.pi/agent/sessions(PI_CODING_AGENT_DIR를 정했으면 그 아래 sessions)에 남긴 기록을 읽기만 하며, 세션이 실행된 폴더의 프로젝트에 놓이고 /name으로 붙인 이름이 있으면 그 이름을, 없으면 첫 요청을 제목으로 씁니다. 이어 열면 앱 안 터미널에서 그 폴더로 pi --session <id>를 실행해 그 세션을 이어 갑니다. Pi는 서브에이전트 기록을 따로 남기지 않아 하위 실행은 보이지 않습니다.
-
코드 편집기 자동완성이 자동 import를 함께 넣습니다. 다른 파일의 함수·형식을 고르면 언어 서버가 알려 주는 import 줄이 맨 위에 같이 추가되고, 실행 취소하면 함께 되돌아갑니다(서버가 나중에 알려 주는 import는 잠시 뒤 따로 들어갑니다). 입력 중인 단어와 맞는 후보를 먼저 받아, 후보가 많은 TypeScript에서도 다른 파일의 이름이 목록에서 잘리지 않습니다.
-
코드 편집기 코드 액션에서 TypeScript의 「함수로 추출」·「상수로 추출」 같은 리팩터링을 실행할 수 있습니다. 표현식을 고르고 코드 액션(Ctrl+.)에서 항목을 누르면 「실행 중…」이 보인 뒤 언어 서버가 돌려준 변경이 현재 문서에 들어가며, 저장은 지금처럼 직접 합니다. 여러 파일을 고치는 변경은 다른 코드 액션처럼 현재 파일을 먼저 저장해야 적용하고, 실행하는 동안 문서를 고치면 받은 변경을 적용하지 않습니다. 앱이 확인한 리팩터링 명령만 실행하며, 새 파일로 옮기기 등 그 밖의 명령 항목은 지금처럼 안내만 합니다.
-
자동완성이 snippet 칸을 지원합니다. 함수 인자처럼 채울 칸이 있는 후보를 고르면 첫 칸이 선택되고 Tab·Shift+Tab으로 다음·이전 칸을 오가며, 마지막에는 서버가 정한 끝 위치로 커서가 갑니다.
-
AI 활용 개요에 「어느 연결로 나갔나요?」를 추가했습니다. 사용량을 연결(게이트웨이·provider·도구 기본 인증)별로 묶어 입력·출력·캐시 토큰과 세션 수를 보여 줍니다. Codex는 기록에 남은 provider로 판정하고, 기록에 연결 정보가 없는 세션(Claude Code 등)은 그 폴더(워크트리는 원래 프로젝트, 없으면 전역)의 현재 설정으로 추정해 「추정 포함」으로 표시하며, 판정할 수 없으면 「알 수 없음」으로 모읍니다. 프로젝트 홈에도 그 프로젝트의 최근 30일 사용량을 도구별·연결별로 작게 보여 줍니다. 연결은 이름과 호스트만 보이고 키·주소 경로는 보이지 않습니다. 사용량 분석을 켠 경우에만 보입니다.
-
언어 서버가 CodeLens를 주면 함수·클래스 줄 위에 참조 수(예: 「2 references」)를 보여 줍니다. 누르면 기존 참조 위치 목록이 열립니다. 서버 명령은 실행하지 않으며, CodeLens를 주지 않는 서버에서는 아무것도 표시하지 않습니다. 내장 TypeScript 언어 서버는 참조 수 표시를 켠 상태로 시작합니다.
-
파일 빠르게 열기(Quick Open)를 추가했습니다. Ctrl+P(macOS ⌘P)를 누르면 지금 프로젝트의 파일을 이름으로 찾아 파일 뷰어로 엽니다. 이름이 맞는 파일이 먼저 오고, renderer app처럼 여러 낱말로 좁힐 수 있으며, app.ts:42처럼 줄 번호를 붙이면 그 줄로 바로 갑니다. 명령 팔레트에서도 검색어를 치면 파일이 함께 나옵니다. 터미널·입력란에서는 Ctrl+P를 셸에 남기며, 단축키는 설정에서 바꿀 수 있습니다.
-
Claude Code와 Codex의 실행 권한에 가운데 단계 「자동 승인」을 추가해 수동 / 자동 승인 / 완전 자율 중에서 고릅니다. 자동 승인은 터미널 세션에 Claude Code는 --permission-mode auto, Codex는 --approve-for-me를 붙여 분류기·자동 검토가 승인을 대신하고, Switcher 대화도 같은 방식(Claude 권한 모드 auto, Codex 자동 검토)으로 시작합니다. 확인 창 없이 바로 적용되고 「완전 자율」 표시는 붙지 않으며, 폴더별로 따로 정할 수 있습니다. 다른 도구는 지금처럼 켜짐·꺼짐이고 기존 설정은 그대로 읽습니다.
-
환경 설정에 검색 칸을 두었습니다. 설정 항목의 이름이나 설명(예: 「다크」, 「글꼴 크기」, 단축키 이름)으로 찾고, 고르면 그 페이지로 옮겨 해당 항목을 잠깐 강조합니다. Esc를 누르면 검색어부터 지웁니다.
-
설정 › 일반 › 편집기에 「자동 저장」을 추가했습니다. 「입력이 멈추면(약 1초)」이나 「포커스를 잃으면」을 고르면 파일 편집기에서 바꾼 내용을 직접 저장하지 않아도 저장하고, 저장 상태는 평소처럼 편집기 툴바에 보입니다. 디스크에서 파일이 바뀌어 충돌 중이면 자동 저장하지 않고 편집을 미저장으로 남기며, 저장에 실패하면 기존처럼 편집기에 오류를 표시합니다. 기본은 끔입니다.
-
파일 뷰어가 Mermaid 다이어그램을 그립니다. Markdown 미리보기의 ```mermaid 코드 블록과 .mmd·.mermaid 파일이 다이어그램으로 보이고, 라이트·다크 테마에 맞춰 색이 바뀝니다. 문법이 틀려 그리지 못하면 원문 코드를 그대로 보여 줍니다. 다이어그램 기능은 처음 그릴 때만 불러와 앱 시작은 느려지지 않습니다.
-
설정 › 실행 권한에 「폴더 신뢰 질문에 미리 답하기」를 추가했습니다. 켜 두면 앱에 등록한 프로젝트·워크트리 폴더에서 Claude Code·Codex를 열기 직전에(앱 안 터미널, 새 터미널 창, Switcher 대화) 그 폴더를 각 도구의 신뢰 목록에 넣어(Pi 포함), 새 워크트리마다 뜨던 「이 폴더를 신뢰합니까?」 질문을 건너뜁니다. Claude Code는 .claude.json의 그 폴더 신뢰 응답, Codex는 config.toml의 그 폴더 trust_level = "trusted", Pi는 trust.json의 그 폴더 항목 한 곳만 추가하고(Pi는 신뢰 전에는 앱이 적용한 프로젝트 설정을 읽지 않습니다), 이미 신뢰했거나 신뢰하지 않음으로 둔 폴더와 등록하지 않은 폴더는 건드리지 않습니다. 도구가 같은 파일을 쓰는 중이거나 파일이 깨져 있으면 쓰지 않고 질문이 평소처럼 뜹니다. 기본은 꺼짐이며, 믿을 수 없는 저장소를 열 때는 끄십시오.
-
Switcher 대화 오른쪽 가장자리에 얇은 메시지 레일이 생겼습니다. 내가 보낸 메시지마다 눈금이 있어 마우스를 올리면 첫 줄이 보이고, 누르면 그 메시지로 옮겨 가며, 옅은 띠가 지금 보고 있는 구간을 알려 줍니다. 아주 좁은 창에서는 보이지 않습니다.
-
Switcher에서 위로 올려 읽거나 다른 탭을 보는 동안 새 기록이 붙으면 그 첫 기록 앞에 「여기부터 새 기록」 구분선이 생깁니다. 「새 기록 N개」 버튼은 맨 아래 대신 이 구분선으로 옮겨 주고, 다른 탭에서 돌아오면 구분선부터 보입니다. 맨 아래까지 내려가 다 보면 구분선은 사라집니다.
-
Switcher 대화 정보 칸에서 실행 중인 서브에이전트와 백그라운드 셸 작업을 하나씩 멈출 수 있습니다. 세부 에이전트 행이나 그 기록 화면의 중지 버튼은 그 에이전트만, 새 「백그라운드 작업」 목록의 중지 버튼은 그 명령만 멈추며 대화의 응답은 계속됩니다. Claude Code는 서브에이전트와 백그라운드 명령 모두, Codex는 서브에이전트와 턴이 끝나도 남아 있는 백그라운드 터미널을 멈출 수 있습니다. 다른 PC의 대화와 휴대폰에서는 아직 이 버튼이 없습니다.
-
Google Gemini CLI(gemini)를 실행·감지 전용 도구로 추가했습니다. 설치돼 있으면 프로젝트 홈의 「도구」 메뉴로 카드를 더해 앱 안 터미널이나 새 창에서 실행하고, 설치돼 있지 않으면 npm(@google/gemini-cli)으로 설치할 수 있습니다. 「실행 권한」에서 완전 자율을 켜면 --yolo를 붙여 실행하며, 로그인·모델·설정(~/.gemini/settings.json)은 Gemini CLI가 직접 관리하고 Switchboard는 고치지 않습니다. 휴대폰 새 세션 목록과 터미널 보조 키에도 나옵니다.