The article delves into the development of AI agents using the Koog framework in Kotlin, focusing on extending agent capabilities by creating tools like the ExecuteShellCommandTool. This tool enables agents to execute shell commands, observe outcomes, and iterate based on real output, addressing integration issues that large language models (LLMs) often face. It outlines the essential components of a Koog tool, including name, description, Args class, Result class, and the execute() method, emphasizing safety measures like command execution confirmation to mitigate risks. The article also discusses the implementation of different confirmation handlers and command executors, highlighting the importance of handling timeouts effectively to preserve incomplete command outputs. The integration of this tool into agents resulted in improved performance, as demonstrated by benchmark testing, and underscores the potential benefits of enabling agents to run and validate code. The article concludes by suggesting that logging and tracing will be explored in future work to enhance the understanding and improvement of agent behavior.