diff --git a/aider/main.py b/aider/main.py index 0f08ad835..fe4e8517c 100644 --- a/aider/main.py +++ b/aider/main.py @@ -380,6 +380,12 @@ def main(argv=None, input=None, output=None, force_git_root=None): metavar="COMMAND", help="Specify a single message to send GPT, process reply then exit (disables chat mode)", ) + other_group.add_argument( + "--message-file", + "-mf", + metavar="MESSAGE_FILE", + help="Specify a file containing the message to send GPT, process reply, then exit (disables chat mode)", + ) other_group.add_argument( "--encoding", default="utf-8", @@ -563,6 +569,18 @@ def main(argv=None, input=None, output=None, force_git_root=None): io.add_to_input_history(args.message) io.tool_output() coder.run(with_message=args.message) + elif args.message_file: + try: + with open(args.message_file, 'r', encoding='utf-8') as file: + message_from_file = file.read() + io.tool_output() + coder.run(with_message=message_from_file) + except FileNotFoundError: + io.tool_error(f"Message file not found: {args.message_file}") + return 1 + except IOError as e: + io.tool_error(f"Error reading message file: {e}") + return 1 else: coder.run()