website/docs/experimental/streaming.mdx
import Config from "@site/src/components/Config.js";
:::warning Experimental Feature Streaming is an experimental beta feature that is currently under active development. The behavior and configuration may change in future releases. Use with caution in production environments. :::
Streaming is a new rendering mode for Oh My Posh that displays your prompt progressively as segments complete their execution. Instead of waiting for all segments to finish before showing the prompt, streaming mode shows an initial prompt immediately and updates it incrementally as data becomes available.
In the traditional rendering mode, Oh My Posh:
With streaming mode, Oh My Posh:
... for segments that are still loading (override using the segment's placeholder property)This provides a more responsive experience, especially when you have segments that fetch remote data or perform time-consuming operations.
To enable streaming mode, add the streaming property to your configuration file and set it to a positive integer representing the timeout in milliseconds for pending segments. For example:
<Config data={{ streaming: 100, }} />
:::warning Setting a very low timeout (e.g., 0 or 50ms) may cause visual glitches depending on the shell's rendering capabilities. We recommend starting with a timeout of around 100ms and adjusting based on your experience. :::
Streaming mode is currently supported in:
Support for additional shells may be added in future releases.
If you encounter issues or have suggestions for the streaming feature, please open an issue on the Oh My Posh GitHub repository.