egui-terminal

Embed interactive PTY-backed terminal sessions inside egui applications.

1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/hafley66/claude-research --skill egui-terminal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: egui-terminal
Source: https://github.com/hafley66/claude-research/tree/main/skills/egui-terminal
Command: npx skills add https://github.com/hafley66/claude-research --skill egui-terminal

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Embedding live terminal sessions inside egui applications enables developers to provide interactive shells directly within their GUI, eliminating context-switching and improving user workflows.

Core Features & Use Cases

  • Embeds a fully functional terminal widget inside egui using egui_term, including PTY-backed shells and rendering inside the GUI.
  • Supports multi-tab terminals, per-instance shells, and a configurable rendering pipeline with theming and input handling.
  • Use cases include IDE-like Rust apps, development tools with embedded consoles, and interactive debugging interfaces.

Quick Start

Instantiate an egui app and render a TerminalView by creating a TerminalBackend and attaching it to the UI, so users can interact with a live shell inside your window.

Frequently Asked Questions about egui-terminal

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I embed a live terminal in an egui app?

You can embed a live terminal in an egui app by creating a TerminalBackend and rendering a TerminalView in the UI, allowing users to interact with a PTY-backed shell directly inside the Rust GUI window.

Can I build a multi-tab terminal interface using egui?

Yes, you can build a multi-tab terminal interface using egui. The architecture supports multiple terminal instances with per-instance PTY shells, allowing simultaneous interactive sessions within a single application window.

Does this terminal widget support theming and resizing?

Yes, the terminal widget supports theming and resizing. It provides a configurable rendering pipeline using the egui Painter, handling input and resize operations to maintain interactive shell functionality.

What is the best way to add an interactive shell to a Rust GUI?

The best way to add an interactive shell to a Rust GUI is using a PTY-backed terminal widget, utilizing background I/O threads and rendering via the egui Painter to eliminate context-switching and improve workflows.

How does the terminal handle PTY input and output in egui?

The terminal handles PTY input and output in egui using background I/O threads. This architecture separates shell processing from the UI, feeding data to the TerminalBackend for rendering via the egui Painter.